我已经在我的 tomcat 网络服务器上成功设置了 SSL/TLS 加密。
当我导航到 https://abc.example.com 时一切正常(连接安全,页面显示)
问题:如果我导航到 http://abc.example.com浏览器中的地址栏立即更改为服务器 IP 地址,后跟 redirect.cgi:
https://1.2.3.4/redirect.cgi?arip=abc.example.com
然后网页浏览器告诉我证书无效(因为 IP 与证书的 CN 不匹配)
我已将 server.xml 文件配置为重定向到端口 443 并尽可能使用域名 abc.example.com
这可能是什么原因?
信息:我的域是一个子域:abc.example.com
最佳答案
我敢说这与 tomcat 无关 - 或者 cgi 脚本如何发挥作用?如果您自己配置了它,请查看 redirect.cgi 脚本。它可能会尝试确定服务器的名称。如果您使用的是 Apache httpd,通常可以对其进行配置,否则 apache 默认使用服务器的 IP 地址作为名称。在这种情况下,Apache 通常会在启动时提示缺少服务器名称。
可能相关:我发现(在快速搜索后)使用此 redirect.cgi 和 arip 参数的唯一地方是在 ZyXel 设备中 - 如果您使用此设备进行重定向,这就是您需要配置的地方。
您可能会通过检查 HTTP 响应 header 获得有关实际服务器的更多线索,例如使用 Firebug 或类似工具。
关于tomcat不会将http重定向到https,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18747784/