没有尾随/附加内部端口的URL

时间:2017-09-15 10:56:11

标签: apache http ssl redirect port

防火墙 - > LoadBalancer - >后端

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

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的想法?

1 个答案:

答案 0 :(得分:0)

这是一个问题,因为SSL vHost以及非SSL vHost没有ServerName和ServerAlias值。将名称和别名添加到这些后,问题得到了解决。

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