4

我正在使用 Apache mod_proxy 和 mod_rewrite 来屏蔽查询字符串中的一些凭据。日志显示重写规则工作正常,但端口号 (: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

4

1 回答 1

0

在规则中指定端口。将您的 .htaccess 更改为:

RewriteCond %{QUERY_STRING} ^(.*)userid=fakepass(.*)
RewriteRule ^(.*)$ https://%{HTTP_HOST}:9000/somedirectory/request.jsp?userid=theuser&password=realpass
于 2017-06-15T22:52:08.467 回答