HTTP改写策略对内容改写不生效

李峥 2389

{{ttag.title}}
正在将一个互联网网站的做反向发布(即将互联网上的邮箱网站发布到公司办公内网里,让员工使用内网域名来访问),为此需要将页面中的一些链接网址进行替换,但发现HTTP改写策略不生效,是AD的这个功能有Bug?还是我的理解有问题?
在虚拟服务上启用了如下的前置策略

改写策略设置如下


但发现网页内容并没有被更改


解决该疑问,预计可以帮助到 10497 人!

回帖即可获得
2S豆
,被楼主采纳即奖励20S豆+10分钟内回帖奖励10S豆 [已过期] ,了解更多S豆奖励信息

完善手机号和公司名称,让服务更省心更便捷!立即完善

小鱼儿 发表于 2024-11-29 09:05
  
关于HTTP改写不生效的问题,您可以按照以下步骤进行排查:
  • 检查HTTP改写策略配置:确保HTTP请求头部或请求行等配置正确[1]。
  • 修改HTTP请求头部HOST字段:参考常见需求,检查并修改该字段的配置[1]。
  • 修改HTTP应答头部location字段:同样参考常见需求,确保该字段的配置合理[1]。
  • 修改HTTP应答实体内容:根据需求,检查并调整应答实体内容的配置[1]。


如果您需要更详细的图文排查指导,可以参考以下链接:
希望这些信息能帮助您解决问题!
LHzz 发表于 2024-11-29 09:13
  
检查HTTP改写策略配置
大王带你去巡山 发表于 2024-11-29 09:25
  
策略没有被匹配调用上把,检查一下策略
物语 发表于 2024-11-29 09:30
  
策略没有被匹配调用上把,检查一下策略
朱墩2 发表于 2024-11-29 09:36
  
策略没有被匹配调用上把,检查一下策略
0010 发表于 2024-11-29 10:01
  
学习一下,等等其他大佬答复。
虾米没有虾 发表于 2024-11-29 12:07
  
检查HTTP改写策略配置
王老师 发表于 2024-11-29 16:08
  
在进行反向代理发布时,确保HTTP改写策略生效是一个常见的挑战。AD(Application Delivery)设备(如F5 BIG-IP、Citrix ADC等)通常提供HTTP改写功能,但有时候可能会遇到配置不生效的问题。以下是一些可能的原因和排查步骤,帮助您解决问题:

1. 检查配置是否正确
确认改写规则:确保您在AD设备上配置的HTTP改写规则是正确的。检查URL匹配模式、替换字符串等。
检查规则优先级:确保您的改写规则优先级高于其他可能影响该URL的规则。
2. 检查日志和调试信息
查看日志:检查AD设备的日志,寻找任何与HTTP改写相关的错误信息或警告。
启用调试:在AD设备上启用HTTP请求和响应的调试日志,查看具体的请求和响应内容,确认改写是否生效。
3. 检查响应头
检查Content-Type:确保响应的内容类型(Content-Type)是文本类型(如text/html、text/css等),因为只有这些类型的内容才会被改写。
检查Cache-Control:确保响应头中没有设置缓存控制(如Cache-Control: max-age=0),这可能会导致浏览器缓存未改写的内容。
4. 检查缓存
清除浏览器缓存:确保浏览器缓存已被清除,避免加载旧的未改写内容。
检查AD设备缓存:如果AD设备有缓存机制,确保缓存已被清除或设置为不缓存特定URL。
5. 检查代理设置
检查代理配置:确保AD设备的代理配置正确,特别是代理链(如果使用了多个代理)。
检查SSL/TLS配置:如果使用了SSL/TLS,确保证书和加密设置正确,不会影响HTTP改写。
6. 检查URL编码
检查URL编码:确保URL中的特殊字符(如空格、引号等)已被正确编码,否则可能会导致匹配失败。
7. 检查正则表达式
检查正则表达式:确保用于匹配和替换的正则表达式是正确的,没有语法错误。
测试正则表达式:在独立的正则表达式测试工具中验证您的正则表达式。
8. 检查页面内容
检查页面内容:确保页面中的链接确实是您希望改写的URL,有时候页面内容可能动态生成,导致匹配失败。
9. 检查AD设备版本
检查设备版本:确保您的AD设备版本是最新的,有时候旧版本可能存在已知的bug。
查看官方文档:查阅AD设备的官方文档,了解是否有已知的改写问题及其解决方案。
10. 联系技术支持
联系厂商支持:如果以上步骤都无法解决问题,建议联系AD设备厂商的技术支持,获取专业的帮助和指导。
示例配置(以F5 BIG-IP为例)
假设您使用的是F5 BIG-IP,以下是一个简单的HTTP改写策略示例:

创建iRule:
Tcl
深色版本
when HTTP_RESPONSE {
    if { [HTTP::header value "Content-Type"] contains "text/html" } {
        HTTP::respond 200 content [string map {"http://external.example.com" "http://internal.example.com"} [HTTP::payload]]
    }
}
应用iRule:
将上述iRule应用到虚拟服务器上。
示例配置(以Citrix ADC为例)
假设您使用的是Citrix ADC,以下是一个简单的HTTP改写策略示例:

创建策略:
Sh
深色版本
add responder action respAct_replace_url replace all "http://external.example.com" "http://internal.example.com"
add responder policy respPol_replace_url "HTTP.REQ.HOSTNAME.EQ(\"external.example.com\")" respAct_replace_url
bind lb vserver lb_vserver_name -policyName respPol_replace_url -priority 100 -gotoPriorityExpression NEXT
通过以上步骤,您应该能够找到并解决HTTP改写策略不生效的问题。希望这些建议对您有所帮助!
燚焱炎火 发表于 2024-12-1 22:47
  
检查Content-Type:确保响应的内容类型(Content-Type)是文本类型(如text/html、text/css等),因为只有这些类型的内容才会被改写。

等我来答:

换一批

发表新帖
热门标签
全部标签>
西北区每日一问
安全效果
高手请过招
【 社区to talk】
技术盲盒
干货满满
社区新周刊
每日一问
新版本体验
技术咨询
产品连连看
纪元平台
标准化排查
GIF动图学习
功能体验
社区帮助指南
信服课堂视频
安装部署配置
解决方案
SDP百科
自助服务平台操作指引
玩转零信任
S豆商城资讯
秒懂零信任
每周精选
畅聊IT
答题自测
专家问答
技术笔记
技术圆桌
在线直播
MVP
网络基础知识
升级
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
每日一记
运维工具
云计算知识
用户认证
原创分享
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
信服圈儿
技术争霸赛
「智能机器人」
追光者计划
深信服技术支持平台
答题榜单公布
2023技术争霸赛专题
通用技术
卧龙计划
华北区拉练
天逸直播
以战代练
技术晨报
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
2024年技术争霸赛
北京区每日一练
场景专题
故障笔记
排障那些事
升级&主动服务
高频问题集锦
POC测试案例
全能先锋系列
云化安全能力

本版达人

新手61940...

本周建议达人

zhao_HN

本周分享达人

ZSFKF

本周提问达人