【问题标题】:Apache Reverse Proxy not workingApache 反向代理不工作
【发布时间】:2014-11-25 07:10:14
【问题描述】:

我有一个博客托管在远程服务器上,而不是我们的前端。我想将我们的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>

也在&lt;Location&gt;之外:

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

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

无法让它工作。

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

有什么想法吗?谢谢!

【问题讨论】:

标签: apache proxy reverse-proxy


【解决方案1】:

要创建这样的重定向,您需要配置一个 apache2 vhost 代理来侦听 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) 启用代理模块。启用模块后需要重启apache2(sudo service apache2 restart)。

【讨论】:

    猜你喜欢
    • 2010-12-07
    • 2011-06-19
    • 2018-01-21
    • 2011-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多