gpt4 book ai didi

java - 从当前 URL 获取 HTTP 或 HTTPS

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:31:50 25 4
gpt4 key购买 nike

我只是想知道当前的 URL 是在 HTTP 下还是在 HTTPS 下。问题是我们的测试环境中有许多自签名证书,因此无法验证证书概率。我尝试了以下方法,但似乎并非在所有情况下都有效。

String protocol = request.getProtocol();
out.println(protocol); // prints out HTTP/1.1 on self signed servers

Boolean secure = ((HttpServletRequest)pageContext.getRequest()).isSecure();
if (secure) {
out.println("secure")
} else {
out.println("not secure") // always fails
}

我想我可以使用 getRequest 并在字符串中搜索“https”——但我假设有一种真正受支持的方法可以做到这一点。

最佳答案

使用自签名证书还是官方证书都没有关系。如果 SSL/TLS 在部署容器中未终止,“isSecure()”将默认返回“false”。但是,即使 SSL/TLS 在部署容器中未终止,也可以将一些部署容器(如 Tomcat)配置为对“isSecure()”调用返回“true”。例如。如果 SSL 在(硬件)负载平衡器处终止并且“sendRedirect()”与相对 URL 一起使用,这将很有帮助。

关于java - 从当前 URL 获取 HTTP 或 HTTPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12989740/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com