Citrix ADC

使用nspepi工具转换策略表达式

注意:

您可以从公共GitHub下载NSPEPI和预配置检查工具。有关更多信息,请参阅GitHub NEPEPI页面和GitHub预配置页面以获取有关下载工具的详细说明。我们建议客户使用GitHub中提供的工具获取最完整和最新的版本。

NetScaler 12.0版本56.20起已弃用经典的基于策略的特性和功能。作为替代方案,Citrix建议您使用高级策略基础架构。作为此项工作的一部分,当您升级到Citrix ADC 12.1版本56.20或更高版本时,必须将基于经典策略的特性和功能替换为相应的未弃用特性和功能。此外,您必须将经典策略和表达式转换为高级策略和表达式。此外,所有新的Citrix ADC功能仅支持高级策略基础架构。

nspepi工具可以执行以下操作:

  1. 将传统策略表达式转换为高级策略表达式
  2. 将某些经典策略及其实体绑定转换为高级策略和绑定。
  3. 将更多已弃用的功能转换为相应的未弃用功能。
  4. 将经典过滤器命令转换为高级过滤器命令

注意:

nspepi工具成功转换ns.conf配置文件后,该工具会将转换后的文件显示为带有前缀“new_”的新文件。如果转换后的配置文件有错误或警告,则必须在转换过程中手动修复它们。转换后,必须在测试环境中测试该文件,然后使用它替换实际的ns.conf配置文件。测试后,必须为新转换或修复的ns.conf配置文件重新启动设备。

仅支持经典策略或表达式的功能将被弃用,可以由相应的未弃用功能替换。

注意:

有关nspepi工具旧版本的信息以PDF格式提供。有关更多信息,请参阅在12.1-51.16 PDF之前使用nspepi工具进行经典策略转换

转换警告和错误文件

在使用该工具进行转化之前,需要记住一些警告:

  1. 所有警告和错误都会输出到控制台。在存储配置文件的位置创建了一个警告文件。
  2. 警告和错误文件与输入文件的名称相同,但在文件名中添加了前缀" warn_ "。在表达式转换期间(使用-e时),警告会显示在名为" warn_expr "的当前目录中。

注意:

此文件采用标准日志文件格式,带有日期/时间戳和日志级别。由于该工具多次运行,因此文件的先前实例会保留" .1 ","。2”等后缀。最多将保留 10 个实例。

转换的文件格式

转换配置文件时(使用“- f”),转换后的文件将放入与输入配置文件存在的同一目录中,名称相同,但前缀为“new_”。

Nspepi转换工具处理的命令或功能

以下是在自动转换过程中处理的命令。

  • 以下经典策略及其表达式将转换为高级策略和表达式。转换包括实体绑定和全局绑定。
  1. 添加appfw策略
  2. 添加CMP策略
  3. 添加cr策略
  4. 添加cs策略
  5. 添加tm会话策略
  6. 添加过滤器操作
  7. 添加过滤器策略
  8. 过滤器策略绑定到负载平衡、内容切换、缓存重定向和全局。

注意:

但是,对于"添加tm SessionPolicy ",您无法在高级策略中绑定到全局覆盖。

  • 在"添加lb虚拟服务器"中配置的规则参数将从经典表达式转换为高级表达式。
  • 在“添加ns HttpProfile”或“设置ns HttpProfile”命令中配置的SPDY参数将更改为“-http2已启用”。
  • 命名表达式(“添加策略表达式”命令)。每个经典命名策略表达式都将转换为其对应的高级命名表达式,并将“nspepi_adv_”设置为前缀。此外,转换后的经典表达式的命名表达式的用法将更改为相应的高级命名表达式。此外,每个命名表达式都有两个命名表达式,其中一个是经典,另一个是先进(如下所示)。
  • 支持隧道流量策略转换。
  • 在CMP, CR和隧道中处理内置的经典策略绑定。
  • 拍类要素将转换为拍集要素。
  • "添加重写操作"命令中的" -pattern "参数被转换为使用" -search "参数。
  • SYS。Eval_classic_expr被转换为等效的未弃用的高级表达式。这些表达式可以在任何允许使用高级表达式的命令中看到。
  • 高级表达式的q和s前缀将转换为等效的未弃用的高级表达式。这些表达式可以在任何允许使用高级表达式的命令中看到。

例如:

add策略表达式classic_expr ns_true转换为:add策略表达式classic_expr ns_true add策略表达式nspepi_adv_classic_expr TRUE 
  • 删除在"设置cmp参数"命令中配置的PolicyType参数。默认情况下,策略类型为“高级”。

将经典过滤器命令转换为高级过滤器

nspepi工具可以将基于传统过滤器操作(如添加、绑定等)的命令转换为高级过滤器命令。

但是,nepepi工具不支持以下过滤器命令。

  1. 添加过滤器操作<动作名称>向前<服务名称>
  2. 添加过滤器操作<动作名称>添加前体
  3. 添加过滤器操作<动作名称>添加postbody

注意:

  1. 如果ns.conf中存在现有的重写或响应程序功能,并且它们的策略使用转到表达式作为结束USER_INVOCATION_RESULT进行全局绑定,并且绑定类型为REQ_XRES_X,则该工具会部分转换绑定过滤器命令并注释掉。显示警告以进行手动操作。
  2. 如果存在现有的重写或响应程序功能,并且它们的策略绑定到带有后置结束USER_INVOCATION_RESULT的HTTPS类型的虚拟服务器(例如,负载平衡,内容切换或缓存重定向),则该工具会部分转换绑定过滤器命令,然后注释掉。显示警告以进行手动操作。

示例

以下是输入示例:

add lb vserver v1 http 1.1.1.1 80 -persistenceType NONE -cltTimeout 9000 add cs vserver crv1 http 1.1.1.2 80 -cltTimeout 180 -persistenceType NONE add cr vserver crv1 http 1.1.1.3 80 -cacheType FORWARD add service svc1 1.1.1.4 http 80 add filter action fact_add add 'header:value' add filter action fact_variable add 'H1:%% http。transd %%' add filter action fact_prebody add prebody add filter action fact_error_act1 ERRORCODE 200 "Good URL" add filter action fact_forward_act1 FORWARD svc1 add filter policy fpol_add_res -rule ns_true -resAction fact_error_act1 add filter policy fpol_error_req -rule ns_true -reqAction fact_error_act1 add filter policy fpol_add_req -rule ns_true -reqAction fact_error_act1 add filter policy fpol_add_req -rule ns_true -reqAction fact_error_act1 add filter policy fpol_add_req -rule ns_true -reqAction fact t_add add filter policy fpol_variable_req -rulens_true -reqAction fact_variable add filter policy fpol_variable_res -rule ns_true -resAction fact_prebody add filter policy fpol_prebody_res -rule ns_true -resAction fact_prebody add filter policy fpol_forward_req -rule ns_true -reqAction fact_forward_act1 bind lb vserver v1 -policyName fpol_add_res bind lb vserver v1 -policyName fpol_add_req bind lb vserver v1 -policyName fpol_error_res bind lb vserver v1 -policyName fpol_error_res bind lb vserver v1 -policyName fpol_error_res bind lb vserver v1 -policyName fpol_error_res bind lb vserver v1 -policyName fpol_error_res bind lb vserver v1 -policyNamefpol_error_req绑定磅vserver v1 -policyName fpol_variable_res绑定磅vserver v1 -policyName fpol_variable_req绑定磅vserver v1 -policyName fpol_forward_req结合cs vserver csv1 -policyName fpol_add_req结合cs vserver csv1 -policyName fpol_add_res结合cs vserver csv1 -policyName fpol_error_res结合cs vserver csv1 -policyName fpol_error_req绑定cr vserver crv1 -policyName fpol_add_req绑定cr vserver crv1 -policyName fpol_add_res绑定cr vserver crv1 -policyName fpol_error_res绑定crvserver crv1 -policyName fpol_error_req bind cr vserver crv1 -policyName fpol_forward_req bind filter global fpol_add_req bind filter global fpol_add_res bind filter global fpol_variable_req bind filter global fpol_variable_res bind filter global fpol_variable_res bind filter global fpol_variable_res -state DISABLED bind filter global fpol_prebody_req bind filter global fpol_forward_req转换后,将显示手动操作的警告/错误消息。警告文件:cat warn_: 2019-11-07 17:13:34,724: ERROR -本工具不支持[add filter action fact_prebody add prebody]的转换。2019-11-07 17:13:34,739: ERROR -本工具不支持[add filter action fact_forward_act1 FORWARD svc1]的转换。2019-11-07 17:13:38,042: ERROR -本工具不支持[添加过滤策略fpol_prebody_req -rule ns_true - reqaction fact_prebody]的转换。2019-11-07 17:13:38,497: ERROR -本工具不支持[add filter policy fpol_prebody_res -rule ns_true - resaction fact_prebody]的转换。2019-11-07 17:13:39,035: ERROR -本工具不支持[add filter policy fpol_forward_req -rule ns_true - reqaction fact_forward_act1]的转换。 2019-11-07 17:13:39,060: WARNING - Following bind command is commented out because state is disabled. Advanced expressions only have a fixed ordering of the types of bindings without interleaving, except that global bindings are allowed before all other bindings and after all bindings. If you have global bindings in the middle of non-global bindings or any other interleaving then you will need to reorder all your bindings for that feature and direction. Refer to nspepi documentation. If command is required please take a backup because comments will not be saved in ns.conf after triggering 'save ns config': bind filter global fpol_variable_res -state DISABLED 

以下是示例输出。所有转换的命令都会被注释。

cat new_ add rewrite action fact_add insert_http_header header ""value"" add filter action fact_forward_act1 FORWARD svc1 add filter policy fpol_prebody_req -rule ns_true -reqAction fact_prebody add filter policy fpol_prebody_res -rule ns_true - reaction fact_forward_act1 bind lb vserver v1 -policyName fpol_forward_req bind cr vserver crv1 -policyNamefpol_forward_req #bind filter global fpol_variable_res -state DISABLED bind filter global fpol_prebody_req bind filter global fpol_forward_req add rewrite action nspepi_adv_fact_variable insert_http_header H1 HTTP.RES.TXID add rewrite action fact_variable insert_http_header H1 HTTP.REQ.TXID add responder action fact_error_act1 respondwith "HTTP.REQ.VERSION. version . txt "APPEND(" 200 OK\r nConnection: close\r nContent-Length: 21\r\n\r nGood URL")"添加重写动作nspepi_adv_fact_error_act1 replace_http_res "HTTP.REQ.VERSION。APPEND(" 200 OK\r nConnection: close\r nContent-Length:21\r\n\r nGood URL")" add rewrite policy fpol_add_res TRUE fact_add add rewrite policy fpol_error_res TRUE fact_error_act1 add responder policy fpol_error_req TRUE fact_add add rewrite policy fpol_variable_req TRUE fact_add add rewrite policy fpol_variable_req TRUE fact_variable add rewrite policy fpol_variable_res TRUE nspepi_adv_fact_variable set cmp parameter -policyType高级绑定改写全局fpol_add_req 100 NEXT -type REQ_DEFAULT绑定改写全局fpol_variable_req 200 NEXT -type REQ_DEFAULT bind rewrite global fpol_add_res 100 NEXT -type RES_DEFAULT bind rewrite global fpol_variable_res 300 NEXT -type RES_DEFAULT bind responder global fpol_error_req 100 END -type REQ_DEFAULT bind lb vserver v1 -policyName fpol_add_res - RESPONSE -priority 100 -gotoPriorityExpression NEXT bind lb vserver v1 -policyName fpol_error_res - RESPONSE -priority 200 -gotoPriorityExpression NEXTbind lb vserver v1 -policyName fpol_variable_res -type RESPONSE -priority 300 -gotoPriorityExpression NEXT bind lb vserver v1 -policyName fpol_add_req -type REQUEST -priority 100 -gotoPriorityExpression NEXT bind lb vserver v1 -policyName fpol_variable_req -type REQUEST -priority 200 -gotoPriorityExpression NEXT bind lb vserver v1 -policyName fpol_error_req -type REQUEST -priority 100 -gotoPriorityExpression END bind cs vserver csv1 -policyName fpol_add_req -type REQUEST -priority 100 -gotoPriorityExpression NEXT bind cs vserver csv1 -policyName fpol_add_res -type RESPONSE -priority 100 -gotoPriorityExpression NEXT bind cs vserver csv1 -policyName fpol_error_res -type RESPONSE -priority 200 -gotoPriorityExpression NEXT bind cs vserver csv1 -policyName fpol_error_req -type REQUEST -priority 100 -gotoPriorityExpression END bind cr vserver crv1 -policyName fpol_add_req -type REQUEST -priority 100 -gotoPriorityExpression NEXT bind cr vserver crv1 -policyName fpol_add_res -type RESPONSE -priority 100 -gotoPriorityExpression NEXT bind cr vserver crv1 -policyName fpol_error_res -type RESPONSE -priority 200 -gotoPriorityExpression NEXT bind cr vserver crv1 -policyName fpol_error_req -type REQUEST -priority 100 -gotoPriorityExpression END 

如果现有的重写或响应程序策略绑定具有高特表达式结束或USE_INNOVOCATION,则将经典过滤器命令转换为高级功能命令

在此转换中,如果重写策略绑定到一个或多个虚拟服务器,并且服务器具有结束或USE_INVOCATION_RESULT,则该工具会注释掉这些命令。

示例

以下是一个示例输入命令:

COPY add filter policy fpol1 -rule ns_true -resAction reset add filter policy fpol2 -rule ns_true -reqAction reset add rewrite policy pol1 true NOREWRITE add rewrite policylabel pl http_res bind rewrite policylabel pl pol1 bind rewrite global NOPOLICY 1 USE_INVOCATION_RESULT -type RES_DEFAULT -invoke policylabel pl add responder policy pol2 true NOOP add responder policylabel pl -policylabeltype HTTP bind responder policylabel pl pol2 1 bind responder global NOPOLICY 1 USE_INVOCATION_RESULT-type REQ_DEFAULT -invoke policylabel pl bind lb vserver v1_tcp -policyName pol1 -priority 100 -gotoPriorityExpression USE_INVOCATION_RESULT -type RESPONSE bind cs vserver csv1_tcp -policyName pol1 -priority 100 -gotoPriorityExpression USE_INVOCATION_RESULT -type REQUEST bind cs vserver csv1_tcp -policyName pol2 -priority 100 -gotoPriorityExpression USE_INVOCATION_RESULT -typeREQUEST bind cr vserver crv1_tcp -policyName pol2 -priority 100 -gotoPriorityExpression USE_INVOCATION_RESULT -type REQUEST bind lb vserver v1_http -policyName fpol1 bind lb vserver v2_http -policyName fpol2 bind cs vserver csv2_http -policyName fpol2 bind cr vserver crv2_http -policyName fpol2 bind filter global fpol1 -priority 100 bind filter global fpol2 -priority 100 

以下是示例输出命令:

COPY add rewrite policy pol1 true NOREWRITE add rewrite policylabel pl http_res bind rewrite policylabel pl pol1 1 add responder policy pol2 true NOOP add responder policylabel pl -policylabeltype HTTP bind responder policylabel pl pol2 1 add rewrite policy fpol1 true RESET add responder policy fpol2 true RESET #bind lb vserver v1_http -policyName fpol1 -type RESPONSE #bind cs vserver csv1_http -policyName fpol1 -type RESPONSE #bind重写global fpol1 100 -type RES_DEFAULT #bind lb vserverv2_http -policyName fpol2 -type REQUEST #bind cs vserver csv2_http -policyName fpol2 -type REQUEST #bind responder global fpol2 100 -type REQ_DEFAULT bind rewrite global NOPOLICY 1 USE_INVOCATION_RESULT -type REQ_DEFAULT -invoke policylabel pl bind responder global NOPOLICY 1 USE_INVOCATION_RESULT -type REQ_DEFAULT -invoke policylabel pl bind lb vserver v1_tcp -policyName pol1 -priority 100 -gotoPriorityExpression USE_INVOCATION_RESULT-type RESPONSE bind lb vserver vv1_tcp - policyname pol2 -priority 100 - gotopriorityexpression USE_INVOCATION_RESULT -type REQUEST bind cs vserver csv1_tcp - policyname pol1 -priority 100 - gotopriorityexpression USE_INVOCATION_RESULT -type REQUEST- 

Nspepi转换工具未处理的命令或功能

以下是一些在自动转换过程中未处理的命令。

  • 如果全局绑定点和非全局绑定点之间、用户和组之间以及与不同实体的绑定之间存在一定的优先级交错,则某些绑定无法转换。这些已将受影响的配置注释掉并产生错误。此类配置必须手动转换。
  • 经典和高级策略都可以绑定到CMP global。在许多情况下,一旦经典策略转换为高级策略,功能就会发生变化。我们已经转换了可以通过注释掉一些策略来解决的命令。还有一些命令无法转换。在这种情况下,将产生错误,必须手动进行转换。
  • 并非所有经典内置命名表达式的使用都会转换为等效的高级命名表
  • 不处理客户端安全表达式。
  • 不处理内容交换和缓存重定向虚拟服务器的" -优先级"选项。
  • 当然可以连接(sc)
  • 优先级排队(pq)
  • HTTP拒绝服务(hdos)
  • HTML注入
  • 身份验证
  • 授权
  • VPN
  • Syslog
  • Nslog
  • 不会处理基于文件的经典表达式。

注意:

对于PatClass/Filter之类的某些功能,命令语法已更改。如果有CMD策略,则可能需要根据客户要求更改CMD策略。

已知问题

nspepi工具可能会产生以下错误:

  • 转换表达式时是否存在问题。
  • 如果命名策略表达式使用-clientSecurityMessage参数,因为高级策略表达式中不支持此参数。

注意:

禁用了-state选项的所有经典策略绑定都会被注释掉。-state选项不适用于高级策略绑定。

运行nspepi工具

以下是运行nspepi工具的命令行示例。此工具从外壳的命令行运行(您需要在Netscaler“CLI”中键入“壳”命令才能执行该命令)。必须指定" -f "或" -e "才能执行转换。使用" -d "是为了让Citrix人员出于支持目的进行分析。

用法:nspepi [-h] (-e <经典策略表达式> | -f )[-d] [-v] [-v将经典策略表达式转换为高级策略表达式,将不使用的命令转换为不使用的命令。可选参数:-h,——help显示此帮助消息并退出-e <经典策略表达式>,——expression <经典策略表达式>将经典策略表达式转换为高级策略表达式(允许的最大长度为8191)-f < ns配置文件的路径>,——infile < ns配置文件的路径> convert netscaler配置文件-d,——debug log调试输出-v,——verbose show详细输出-v,——version显示程序的版本号并退出

用法示例:

  1. Nspepi -e "req.tcp.destport == 80"
  2. Nspepi -f ns.conf

以下是使用cli运行nspepi工具的几个示例

-e参数的输出示例:

root@ns# nspepi -e "req.http。头foo = =“酒吧”“HTTP.REQ.HEADER .EQ(“foo”)(“酒吧”)”<!——NeedCopy >

-f参数的输出示例:

root@ns# cat sample.conf add c\*\*Input\*\*r vserver cr_vs HTTP -cacheType TRANSPARENT -cltTimeout 180 -originUSIP OFF add cr policy cr_pol1 -rule ns_true bind cr vserver cr_vs -policyName cr_pol1 

使用-f参数运行nspepi

-f sample.conf 

转换后的配置在新文件new_sample.conf中提供。检查warn_sample.conf文件中是否存在可能已生成的警告或错误。

-f参数和-v参数的示例输出

nspepi -f sample.conf -v INFO - add cr vserver cr_vs HTTP - cachetype TRANSPARENT - clttimeout 180 - originusip OFF INFO - add cr policy cr_pol1 -rule TRUE -action ORIGIN INFO - bind cr vserver cr_vs - policyname cr_pol1 -priority 100 - gotopriorityexpression END -type REQUEST 

转换后的配置在新文件new_sample.conf中提供。检查warn_sample.conf文件中是否存在可能已生成的警告或错误。

转换后的配置文件:

root@ns# cat new_sample.conf add cr vserver cr_vs HTTP -cacheType TRANSPARENT -cltTimeout 180 -originUSIP OFF add cr policy cr_pol1 -rule TRUE -action ORIGIN set cmp parameter -policyType ADVANCED bind cr vserver cr_vs -policyName cr_pol1 -priority 100 -gotoPriorityExpression END -type REQUEST 

没有错误或警告的示例配置的输出示例:

-f sample_2.conf 

转换后的配置在新文件new_sample_2.conf中提供。检查warn_sample_2.conf文件中是否存在可能已生成的警告或错误。

带有警告的示例配置的输出示例:

root@ns# cat sample_2.conf add policy expression security_expr "req.tcp.destport == 80" -clientSecurityMessage "Not allowed" set cmp parameter -policyType CLASSIC add cmp policy cmp_pol1 -rule ns_true -resAction COMPRESS add cmp policy cmp_pol3 -rule TRUE -resAction COMPRESS bind cmp global cmp_pol1 bind cmp global cmp_pol3 -priority 1 -gotoPriorityExpression END -type RES_DEFAULT bind lb vserverlb_vs cmp_pol2 root@ns# 

使用-f参数运行nspepi的示例:

root@ns# nspepi -f sample_2.conf ERROR -转换表达式security_expr时出错:不支持转换基于clientSecurityMessage的表达式。警告-由于状态被禁用,下面的绑定命令被注释掉。高级表达式只有固定的绑定类型顺序,没有交叉,除了全局绑定允许在所有其他绑定之前和所有绑定之后。如果你在非全局绑定或任何其他交叉的中间有全局绑定,那么你将需要根据该特性和方向重新排序所有绑定。参考nspepi文档。bind cmp global cmp_pol2 -state DISABLED Warning -高级cmp策略到cmp global的绑定将被注释掉,因为初始的全局cmp参数是经典的,而高级策略是绑定的。现在全局cmp参数策略类型设置为高级。如果需要执行命令,请备份,因为触发“save ns config”后,ns.conf中将不会保存注释。高级表达式只有固定的绑定类型顺序,没有交叉,除了全局绑定允许在所有其他绑定之前和所有绑定之后。如果你在非全局绑定或任何其他交叉的中间有全局绑定,那么你将需要根据该特性和方向重新排序所有绑定。 Refer to nspepi documentation. root@ns# 

转换后的文件:

root@ns# cat new_sample_2.conf add policy expression security_expr "req.tcp.destport == 80" -clientSecurityMessage "Not allowed" set cmp parameter -policyType ADVANCED add cmp policy cmp_pol1 -rule TRUE -resAction COMPRESS add cmp policy cmp_pol2 -rule TRUE -resAction COMPRESS #bind cmp global cmp_pol2 -state DISABLED #bind cmp global cmp_pol3 -priority 1 -gotoPriorityExpression END -type RES_DEFAULT bind cmp global cmp_pol1 -priority 100-gotoPriorityExpression END -type RES_DEFAULT bind lb vserver lb_vs -policyName cmp_pol2 -priority 100 -gotoPriorityExpression END -type RESPONSE root@ns# 

警告文件:

root@ns# cat warn_sample_2.conf 2019-02-28 06:20:10 590: ERROR - ERROR in converting expression security_expr: conversion of clientSecurityMessage based expression is not supported。2019-02-28 06:20:12 187:警告-以下绑定命令被注释掉,因为状态被禁用。高级表达式只有固定的绑定类型顺序,没有交叉,除了全局绑定允许在所有其他绑定之前和所有绑定之后。如果你在非全局绑定或任何其他交叉的中间有全局绑定,那么你将需要根据该特性和方向重新排序所有绑定。参考nspepi文档。如果需要执行命令,请备份,因为触发'save ns config'后ns.conf中将不会保存注释:bind cmp global cmp_pol2 -state DISABLED 2019-02-28 06:20:12 191: WARNING -高级cmp策略到cmp global的绑定将被注释掉,因为初始的全局cmp参数是经典的,而高级策略是绑定的。现在全局cmp参数策略类型设置为高级。如果需要执行命令,请备份,因为触发“save ns config”后,ns.conf中将不会保存注释。高级表达式只有固定的绑定类型顺序,没有交叉,除了全局绑定允许在所有其他绑定之前和所有绑定之后。如果你在非全局绑定或任何其他交叉的中间有全局绑定,那么你将需要根据该特性和方向重新排序所有绑定。 Refer to nspepi documentation. root@ns# 

绑定优先级

高级策略不允许在全局和非全局之间以及在不同绑定类型之间按优先级进行任意交错。如果您依赖传统策略优先级的这种交织,则需要调整优先级以符合高级策略规则并获得所需的行为。高级策略中的优先级是绑定点的本地优先级。绑定点是协议、功能、方向和实体的唯一组合(实体是特定的虚拟服务器、用户、组、服务以及全局覆盖或全局默认值)。不会跨绑定点遵循策略优先级。

对于给定的协议、功能和方向,高级策略的评估顺序如下:

  • 全局覆盖。
  • (当前)身份验证、授权和审核用户。
  • 按权重顺序排列的身份验证,授权和审计组(用户是其中的成员),如果两个或更多组具有相同的权,重则排序未定义。
  • 接收请求或选择了内容交换的lb虚拟服务器。
  • 内容交换虚拟服务器,接收请求的缓存重定向虚拟服务器。
  • 通过负载平衡选择的服务。
  • 全局默认值。

对于授权策略评估,顺序为:

  • 系统覆盖。
  • 负载平衡接收请求或选择了cs的虚拟服务器。
  • 收到请求的内容交换虚拟服务器。
  • 系统默认值。

在每个绑定点内,将按照优先级从最低编号到最高编号的顺序对策略进行评估。仅针对所使用的协议和接收消息的方向评估策略。

需要手动调整优先级的经典策略绑定

以下是一些需要手动调整优先级才能满足您的需求的经典策略绑定类型。所有这些都是针对给定要素和方向的。

  • 与上述实体类型列表的方向相反的优先级数增加的典型优先级。例如,内容交换虚拟服务器绑定低于负载平衡虚拟服务器绑定。
  • 交错身份验证、授权和审计组的传统优先级。一个小组的一部分在另一个小组之前,另一部分在另一个小组的一部分之后。
  • 除身份验证、授权和审计组的权重顺序以外的数量增加的传统优先级。
  • 低于某些非全局优先级和相同全局优先级的传统全局优先级比其他一些非全局优先级更大(换言之,任何非全局优先级段,后跟一个或多个全局优先级,后跟一个非全局优先级)。