【问题标题】:Apache https reverse proxy with Tomcat使用 Tomcat 的 Apache https 反向代理
【发布时间】:2016-09-19 11:14:18
【问题描述】:

好吧,我到处找,但如果有人知道我在哪里可以找到解决方案,很抱歉再次问这个问题。

我们正在寻求实施此解决方案: HTTP 客户端 -> Apache 2.4 反向代理 -> HTTP 服务器 => 工作正常 HTTPS 客户端 -> Apache 2.4 反向代理 -> HTTPS 服务器 => 工作正常

但是,当 HTTPS 服务器回复“302”重定向标头时,标头中的服务器名称不会转换为客户端已知的服务器名称。因此,由于 DNS 错误,客户端无法连接。

我们无法在 DNS 中添加后端服务器名称,因此我们需要该解决方案才能工作。

重要提示:同样适用于 HTTP。这意味着当服务器回复是HTTP中的“302”重定向头时,没有问题。即使重定向的目标是 HTTPS 链接,它也可以工作。所以不起作用的是从 HTTPS 重定向到 HTTPS。 后端网络服务器是 Tomcat。

问题是:在 HTTPS 标头中,重定向 URL 是“https://[backendname]/something.html”,但我们希望它是“https://[servername]/something.html

我们已检查日志文件中没有错误(错误级别设置为“调试”)。

这是我们的虚拟站点配置:

<VirtualHost [reverse proxy IP]:443>
    SSLEngine on
    SSLProxyEngine on
    SSLCertificateFile    D:/Apache24/ssl/certs/servername.cer
    SSLCertificateKeyFile D:/Apache24/ssl/private/servername.key

    ServerName [servername]
    ProxyPass / https://[backendname]:443/
        ProxyPassReverseCookiePath / https://[backendname]:443/
        ProxyPassReverse / https://[backendname]:443/

    SetOutputFilter proxy-html
    ProxyHTMLEnable On
    ProxyHTMLURLMap https://[backendname] https://[servername]

    ErrorLog  D:/Apache24/logs/custom/[servername]_error.log
    CustomLog D:/Apache24/logs/custom/[servername]_access.log combined

    SetEnv nokeepalive ssl-unclean-shutdown
</VirtualHost>

问题相关的 Apache 激活模块:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_html_module modules/mod_proxy_html.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule xml2enc_module modules/mod_xml2enc.so

因此,我们将不胜感激任何帮助完成这项工作。

谢谢。

【问题讨论】:

  • 我最近发现我的 302 响应被缓存了,因为 Apache 插入了我不想要的缓存控制指令。我用“ExpiresActive Off”解决了我的问题。
  • 我也遇到过类似的问题,通过在重定向 url 和/或表单操作属性中添加或删除前导斜杠来解决。
  • 谢谢。我试过了,它奏效了。

标签: apache tomcat redirect https proxy


【解决方案1】:

这是 Michael Akerman 建议的可行解决方案

感谢您的帮助

【讨论】:

    猜你喜欢
    • 2015-08-07
    • 1970-01-01
    • 2015-07-09
    • 2017-09-25
    • 2017-07-10
    • 1970-01-01
    • 2020-11-24
    • 1970-01-01
    • 2017-07-24
    相关资源
    最近更新 更多