使用Tomcat的Apache https反向代理

使用Tomcat的Apache https反向代理,apache,tomcat,redirect,https,proxy,Apache,Tomcat,Redirect,Https,Proxy,嗯,我找遍了所有我能找到的地方,但是如果有人知道我在哪里可以找到解决方案,很抱歉再次问这个问题 我们希望实施此解决方案: HTTP客户端->Apache2.4反向代理->HTTP服务器=>工作正常 HTTPS客户端->Apache 2.4反向代理->HTTPS服务器=>工作正常 但是,当HTTPS服务器使用“302”重定向头进行回复时,头中的服务器名称不会转换为客户端已知的服务器名称。因此,由于DNS错误,客户端无法连接 我们无法在DNS中添加后端服务器名称,因此我们需要该解决方案才能工作 重要

嗯,我找遍了所有我能找到的地方,但是如果有人知道我在哪里可以找到解决方案,很抱歉再次问这个问题

我们希望实施此解决方案: HTTP客户端->Apache2.4反向代理->HTTP服务器=>工作正常 HTTPS客户端->Apache 2.4反向代理->HTTPS服务器=>工作正常

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

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

重要提示:在HTTP中也是如此。这意味着,当服务器应答是HTTP中的“302”重定向头时,没有问题。即使重定向的目标是HTTPS链接,它也可以工作。所以不起作用的是从HTTPS重定向到HTTPS。 后端Web服务器是Tomcat

问题是:在HTTPS标头中,重定向URL为“”,但我们希望它为“”

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

以下是我们的虚拟站点配置:

<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>
因此,任何有助于这项工作的人都将不胜感激


谢谢。

这是迈克尔·阿克曼建议的有效解决方案

  • 禁用缓存
  • 写入新指令:ProxyPassReverse

感谢您的帮助

我最近发现我的302响应正在被缓存,因为Apache插入了我不想要的缓存控制指令。我用“ExpiresActive Off”解决了我的问题。我也遇到过类似的问题,通过在重定向URL和/或表单操作属性中添加或删除前导斜杠解决了这些问题。谢谢。我试过了,它成功了。
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