我们有以下配置,一个 apache HTTP 服务器将 AJP 请求代理到另一个应用程序,如下面的代理平衡器配置所示。
我们遇到的问题是应用程序只理解一个 HOST http 标头,即 exampledomain.com,但我们需要将 www.exampledomain.com 重写为 exampledomain.com,但仍然显示 www.exampledomain.com 地址。
我们在浏览器和访问 Apache 服务器之间也有 HTTP 代理,并且不希望这些内容被缓存!
以下是我们的配置:
<Proxy balancer://ajp-cluster>
Order deny,allow
Allow from all
BalancerMember ajp://10.10.10.11:8009
</Proxy>
<VirtualHost *:80>
ServerName exampledomain.com
ServerAlias exampledomain.com *.exampledomain.com
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.exampledomain.com
RewriteRule ^/(.*)$ http://exampledomain.com/$1 [L,R=301,E=nocache:1]
## Set the response header if the "nocache" environment variable is set
## in the RewriteRule above.
Header always set Cache-Control "no-store, no-cache, must-revalidate" env=nocache
## Set Expires too ...
Header always set Expires "Thu, 01 Jan 1970 00:00:00 GMT" env=nocache
ProxyPass / balancer://ajp-cluster/
ProxyPassReverse / balancer://ajp-cluster/
</VirtualHost>