【问题标题】:URL without trailing / gets internal port appended没有尾随 / 的 URL 附加了内部端口
【发布时间】:2018-02-24 13:09:34
【问题描述】:

防火墙 -> 负载平衡器 -> 后端

公共 IP 绑定到防火墙 -> NAT 到 LB 上的私有 IP 场 -> 平衡到另一个私有子网上的后端。

https://example.com/test-redirect/index.php --> works fine
https://example.com/test-redirect/ --> works fine
https://example.com/test-redirect --> https://example.com:44312/test-redirect/ (Where 44312 is the internal port number apache has the SSL vhost bound to. FAILS)

Apache 配置:

<VirtualHost *:80>
    ServerAdmin REDACTED
    ServerName example.com
    ServerAlias *.example.com

    DocumentRoot "/var/www/example.com"

    Include conf.d/global-http-host-includes.conf
</VirtualHost>

<VirtualHost <internal-ip>:44312>
    DocumentRoot "/var/www/example.com"

    SSLEngine on
    SSLProtocol all -SSLv2 -SSLv3
    SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA
    SSLCertificateFile REDACTED.crt
    SSLCertificateKeyFile REDACTED.key

    Include conf.d/global-ssl-host-includes.conf
</VirtualHost>

此客户端在其应用程序中处理从 HTTP 到 HTTPS 的重定向。我们已经多次说过,这种行为极有可能源于应用程序,这不是堆栈或 Apache 配置正在做的事情。

有没有人遇到过类似的情况?或者可能对导致内部 Apache 端口号附加到 URL 并重定向的任何想法?

【问题讨论】:

    标签: apache http ssl redirect port


    【解决方案1】:

    这是一个问题,因为 SSL vHost 和非 SSL vHost 中没有 ServerName 和 ServerAlias 值。在其中添加名称和别名后,问题得到解决。

    我会说这可能是 Apache 中的一个错误,但也有一些错误配置。

    【讨论】:

      猜你喜欢
      • 2021-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-08
      • 1970-01-01
      • 1970-01-01
      • 2011-09-30
      • 1970-01-01
      相关资源
      最近更新 更多