我正在使用带有mod_rewrite的Apache mod_proxy来屏蔽查询字符串中的一些凭据。日志显示重写规则正常工作,但正在剥离端口号(:9000),导致代理拒绝URL。除了安全讲座以及与手头实际问题无关的任何其他问题,有人能告诉我解决方案可能是什么吗?
使用的基本示例:
RewriteCond %{QUERY_STRING} ^(.*)userid=fakepass(.*)
RewriteRule ^(.*)$ $1?%1userid=realpass%2
原始网址 https://domain.com:9000/somedirectory/request.jsp?userid=theuser&password=fakepass
目标网址:: https://domain.com:9000/somedirectory/request.jsp?userid=theuser&password=realpass
mod_rewrite之后的实际结果: https://domain.com/somedirectory/request.jsp?userid=theuser&password=realpass
答案 0 :(得分:0)
在规则中指定端口。将.htaccess更改为:
RewriteCond %{QUERY_STRING} ^(.*)userid=fakepass(.*)
RewriteRule ^(.*)$ https://%{HTTP_HOST}:9000/somedirectory/request.jsp?userid=theuser&password=realpass