更新时间:2023-09-18
操作场景
当业务从HTTP升级到HTTPS时,页面中的一些绝对路径的页面等内容因为跨域等问题会无法访问;希望实现客户端访问不同目录调度到不同节点的根目录上的需求等。我们可以配置[HTTP改写策略]对客户端的请求或服务器的应答做改写来满足相应的业务需求。
操作步骤
在[应用负载]菜单下,点击[优化策略],在右边[优化策略]窗口中,选择[HTTP改写策略],点击<新增>。
界面如下图所示。
[HTTP改写策略]下显示的HTTP改写策略的[名称]、[描述]、[匹配次数]、[类型]、[源IP]、[动作]、[操作],其中[操作]栏有“复制”按钮用于快速复制创建同样的HTTP改写策略,“删除”按钮用于删除该单条配置。此处定义的[HTTP改写策略],可用于HTTP和HTTPS服务的“前置调度”配置部分。
<重置匹配次数>按钮可以清空HTTP改写策略的匹配次数重新统计。
点击<新增>按钮,如下图所示。
改写类型:配置改写的类型,可选请求改写或应答改写。
源IP范围:配置访问虚拟服务的用户来源IP地址,可选所有地址、IP地址(单个IP、子网或地址范围)、用户地址集。
高级匹配条件:配置匹配HTTP请求行、请求头部、应答行、应答头部或请求的证书变量的匹配条件,匹配上则执行相应的动作。
• 若[高级匹配条件]选择请求行,则可选的字段包括URI、METHOD和VERSION。[URI]字段可设置条件是否等于、是否包含、是否通配符和是否正则匹配等,并设置相应的值;[METHOD]字段可设置条件为GET或者POST;[VERSION]字段可设置条件为HTTP/1.0或者HTTP/1.1。
• 若[高级条件匹配]选择请求头部,则可选的字段包括HOST、COOKIE、USER-AGENT和自定义。[HOST]、[COOKIE]、[USER-AGENT]和自定义字段,均可设置条件等于、包含、通配符和正则匹配,并设置相应的值。
• 若[高级条件匹配]选择证书变量,则可选的字段包括Version、Issuer、Subject、Common Name、EmailAddress、Organization、Organizational Unit、Locality、State or Province、Country,其中[VERSION]字段可设置条件为V1、V2或V3,其它均可设置条件等于、包含、通配符和正则匹配,并设置相应的值。
• 若[高级条件匹配]选择应答行,则可选的字段包括VERSION和STATUS-CODE。[VERSION]字段可设置条件为HTTP/1.0或者HTTP/1.1;[STATUS-CODE]字段可设置条件等于、包含、通配符和正则匹配,并设置相应的值。
• 若[高级条件匹配]选择应答头部,则可选的字段包括CONTENT-TYPE、SET-COOKIE、LOCATION和自定义。[CONTENT-TYPE] 、[SET-COOKIE]、[LOCATION]和自定义字段均可设置条件等于、包含、通配符和正则匹配,并设置相应的值。
动作:配置符合匹配条件后执行的动作,可选改写URI、插入头部、删除头部、改写头部、内容改写。
• 若[动作]选择改写URI,则需要定义改写的[改写范围]和[改写内容],改写URI仅限[请求改写]类型。
• 若[动作]选择插入头部,则需要定义插入的[头部名称]和[插入内容]。
• 若[动作]选择删除头部,则需要定义删除的[头部名称]。
• 若[动作]选择改写头部,则需要定义改写的[头部名称]、[匹配内容]和[改写内容]。
• 若[动作]选择内容改写,则需要定义改写的[匹配内容]和[改写内容]。
头部名称:配置查找请求或应答中的HTTP头部名称,仅限[插入、删除、改写]头部动作。
插入内容:配置需要插入的内容,仅限[插入头部动作]。
改写范围:配置改写URI的范围,根据改写范围,对于重复匹配的内容,改写次数最多为255次,仅限[请求改写]中的[改写URI动作]。
匹配内容:配置待匹配的内容,支持正则表达式匹配,改写次数最多能重复匹配255次。其中,内容改写的正则匹配支持简单的贪婪匹配,不支持匹配为空的正则表达式,如?*等,仅限[改写头部]和[内容改写]动作。
改写内容:配置改写后的内容。其中,头部改写可通过配置$、^等位置符,完成改写内容的追加,支持的变量可通过[展开改写变量]进行查询,仅限[改写URI]、[改写头部]和[内容改写]动作。
展开改写变量:点击后可展开AD支持的改写变量类型,可选HTTP改写变量,证书改写变量,SSL改写变量。