我在两个不同的服务器上设置了两个Tomcat实例。我没有明确选择要安装的版本,它们实际上都是作为IBM Rational Team Concert安装(每台服务器上的v5.0.1和v5.0.2)的一部分自动安装的,但我可以说它们至少都是版本7
首先,当我转到http://myserver.domain.com:9443/ccm时,我会自动重定向到https://myserver.domain.com:9443/ccm。
在第二个实例中,当我转到http://otherserver.domain.com:9443/ccm时,我不会被重定向到https,而是获得一个奇怪的下载或获得一个具有无法识别的Unicode字符的空白页面(取决于浏览器)。
我注意到两个server.xml是不同的(我不确定为什么RTC使它们 在次要版本之间有所不同),但通过查看它们我必须设置的内容并不明显在第二个server.xml中实现第一个存在的行为。端口9443设置为HTTPS端口。我在server.xml中设置什么才能使对该端口的所有http请求自动重定向到https?
答案 0 :(得分:0)
Tomcat无法满足您的要求。没有机制可以检测到https端口上正在使用http并相应地重定向用户。这可能是我们在Tomcat 9中添加的内容,但这只是现阶段的一个想法。
Tomcat以外的其他东西正在执行您观察到的重定向。看一下HTTP标题 - 它们可能会提供一些关于发生了什么的线索。