Apache Reverse Proxy无法正常工作

时间:2014-09-30 15:24:17

标签: apache proxy reverse-proxy

我在远程服务器上托管的博客比我们的前端托管。我想将http://domain.com/blog指向http://blog.domain.com,这是我们当前博客所在的位置(虚拟主机通向另一台计算机)。

我已经尝试了几种方法来做到这一点,但无济于事:

<Location "/blog">
    # Blog proxy
    ProxyPreserveHost On
    ProxyPass /blog http://blog.domain.com # with/without /blog
    ProxyPassReverse /blog http://blog.domain.com # with/without /blog
</Location>

也在<Location>之外:

# Blog proxy
ProxyPreserveHost On
ProxyPass /blog http://blog.domain.com
ProxyPassReverse /blog http://blog.domain.com

还尝试使用/不使用尾部斜杠。

无法让它发挥作用。

我确保http://domain.com/根目录中的.htaccess忽略了使用$/?blog指向RewriteCond %{REQUEST_URI} !^/?blog的任何重写符号,但仍然没有。我刚拿到404.该目录不应该存在,是吗?

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:0)

要创建这样的重定向,您需要配置apache2虚拟主机代理以侦听blog.example.com并将请求传递给http://example.com/blog

您可以这样操作:

<VirtualHost *:80> ServerName blog.example.com ProxyPreserveHost On ProxyPass / http://example.com/blog ProxyPassReverse / http://example.com/blog </VirtualHost>

注意:您需要为apache2(sudo a2enmod proxy)启用代理模块。启用模块(sudo service apache2 restart)后,需要重新启动apache2。