【问题标题】:Return original URL when using reverse proxy使用反向代理时返回原始 URL
【发布时间】:2018-03-07 23:20:02
【问题描述】:

我们正在使用反向代理来允许防火墙外部的用户访问内部服务器上的服务。然而,虽然我们使用了ProxyPreserveHost 指令,但使用 URL http://project.domain.com/index.html 的请求会导致http://internal.server/index.html 而不是预期的http://project.domain.com/index.html

这是我们的虚拟主机定义:

<VirtualHost *:443>

        ServerName "https://project.domain.com"
        SSLEngine on
        SSLCertificateFile /etc/ssl/our.cer
        SSLCertificateKeyFile /etc/ssl/private/our.key

        ProxyRequests Off
        ProxyVia Off
        <Proxy *>
            Require all granted
        </Proxy>
        ProxyPreserveHost On
        ProxyPass / http://internal.server:80/
        ProxyPassReverse / http://internal.server:80/

</VirtualHost>

【问题讨论】:

    标签: reverse-proxy host apache2.4


    【解决方案1】:

    问题是ProxyPass 的目标本身被重定向到https://internal.server

    当我们将ProxyPassProxyPassReverse 目标更改为https://internal.server(绕过重定向)时,ProxyPreserveHost 指令起作用了。

    【讨论】:

      猜你喜欢
      • 2017-04-09
      • 1970-01-01
      • 2011-09-03
      • 2020-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-25
      • 2013-10-10
      相关资源
      最近更新 更多