如何基于referer配置Apache虚拟主机?

时间:2017-01-29 12:57:21

标签: apache .htaccess referrer

我们在端口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/

但这里我想要的是两者的结合。意味着代理应该只针对特定的引用者。否则我想发送用户未经授权的回复。

这种配置是否可行?

0 个答案:

没有答案