我们在端口8080中运行tomcat Web服务器,在Windows环境中在端口80中运行Apache服务器。我们的目标是将Apache服务器配置为代理服务器,以便向用户隐藏tomcat Web服务器地址。当我尝试使用基于HTTPREFERER规则的mod_rewrite时,它工作正常,但用户可以在浏览器网络选项卡中看到重定向的URL。
RewriteEngine on
RewriteMap deflector "txt:C:/gsasetup/gsaproxy01/Apache24/conf/deflector.map"
RewriteCond "%{HTTP_REFERER}" !=""
RewriteCond "${deflector:%{HTTP_REFERER}}" "=-"
RewriteRule "^" "%{HTTP_REFERER}" [R,L]
RequestHeader set Authorization "Basic dXNlcjpwYXNzd29yZA==" env=DOAUTH
RewriteCond "%{HTTP_REFERER}" !=""
RewriteCond "${deflector:%{HTTP_REFERER}|NOT-FOUND}" "!=NOT-FOUND"
RewriteRule "^" "${deflector:%{HTTP_REFERER}}" [R,L]
同样,当我尝试使用虚拟主机配置时,它会在内部将请求重定向到在端口8080中运行的tomcat Web服务器。
ServerName localhost
ServerAlias *.localhost
ProxyRequests off
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
但这里我想要的是两者的结合。意味着代理应该只针对特定的引用者。否则我想发送用户未经授权的回复。
这种配置是否可行?