【问题标题】:Apache host header proxyApache 主机头代理
【发布时间】:2012-03-08 04:04:51
【问题描述】:

我有多个网址进入服务器。我想使用主机标头来重定向流量。我正在尝试使用 Apache 将这些请求重定向到我们防火墙内的各种服务器。我已经得到了解决方案的一部分,但是,我似乎遗漏了一些东西。

例如,http://hostHeader1.mycompany.com 应重定向到我们防火墙内的服务器,该服务器处理对 hostHeader1 的请求,并将结果返回给客户端。 http://hostHeader2.mycompany.com 应该被重定向到我们防火墙内的一个服务器,该服务器处理对 hostHeader2 的请求。等等。

现在,我有以下内容,但是,它将所有流量重定向到 http://hostHeader1Handler/

<VirtualHost *:*>
ProxyPreserveHost On
ProxyPass / http://hostHeader1Handler/
ProxyPassReverse / http://hostHeader1Handler/
ServerName hostHeader1.mycompany.com
</VirtualHost> 

任何帮助表示赞赏。

斯科特

【问题讨论】:

  • 结果比我做的要容易。把它放在你的 httpd.conf 中:RewriteEngine OnRewriteCond %{HTTP_HOST} ^hostHeader1\.mycompany\.com$ [NC]RewriteRule (.*) http://internalServerNameOrIP$1 [P]Scott
  • 不要为此使用重写规则!虚拟主机仅适用于您正在尝试做的事情。请参阅@bitcloud 的答案并对其进行扩展。

标签: apache hostheaders


【解决方案1】:

这可能是您的第一个或唯一一个虚拟主机。之前只需添加另一个虚拟主机。那么这应该是新的默认值。

NameVirtualHost *:*
<VirtualHost *:*>
    ServerName your.default.domain.de
DocumentRoot /var/www/pathToHTML
</VirtualHost>

<VirtualHost *:*>
    ProxyPreserveHost On
    ProxyPass / http://hostHeader1Handler/
    ProxyPassReverse / http://hostHeader1Handler/
    ServerName hostHeader1.mycompany.com
</VirtualHost> 

【讨论】:

  • OP 可能需要添加 &lt;VirtualHost *:*&gt; ProxyPass / http://hostHeader2Handler/ ProxyPassReverse / http://hostHeader2Handler/ ServerName hostHeader2.mycompany.com &lt;/VirtualHost&gt; 在这种情况下我不认为你想要 ProxyPreserveHost
猜你喜欢
  • 2016-06-30
  • 2013-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-16
  • 2015-11-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多