提示
X
本案例来自tskb,请前往tskb修改源内容:立即前往
'>

基础排查-步骤五:修改HTTP应答的实体内容

|

问题描述


XX客户的SSL卸载改造,客户端浏览器调试发现应答实体中包含了大量的节点服务器真实绝对链接客户端访问首页一般是https://域名,但客户端收到这种私有地址链接就会导致打不开,从而首页会出部分模块显示异常的现象。
HTTP应答实体包含固定URL地址,如下图:
PS:10.1.14.5是节点服务器地址

解决方案

针对以上现象的问题,可以通过改写策略来实现:
1、新建请求改写,删除压缩头部。应答实体改写必须删除请求方向的压缩字段,否则一旦服务器协商对应的压缩算法,则返回内容是压缩的,改写将会失效。


2、新建应答改写,根据实际情况,将应答实体中异常的链接按需修改为合理的链接
建议使用正则表达和变量,更加灵活!
匹配内容:http://[a-zA-Z0-9\.:]+/
改写内容:https://${host}/
更多常用正则表达式见帖子底部!!!

3、新建前置策略,关联请求改写和应答改写。



4、新建虚拟服务,将前置策略关联上即可。

建议与总结

合理运用变量和正则表达,会更加灵活,不会因为后续业务维护而导致改来改去,下列汇总常见的场景使用:









HOST头部一般可能是ipv4 ipv6和域名,三者都匹配的正则如下:

\[*[a-zA-Z0-9\.:]+\]*



. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束

参考资料:
正则表达式30分钟入门
http://www.cnblogs.com/deerchao/archive/2006/08/24/zhengzhe30fengzhongjiaocheng.html

正则表达式在线测试是否正确
http://tool.oschina.net/regex/

我要分享
文档编号: 250271
作者: admin
更新时间: 2023-04-20 17:05
适用版本: