防火墙 - > 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的想法?
答案 0 :(得分:0)
这是一个问题,因为SSL vHost以及非SSL vHost没有ServerName和ServerAlias值。将名称和别名添加到这些后,问题得到了解决。
我想说这可能是Apache中的一个错误,但也有一些错误配置。