【发布时间】:2016-12-22 15:07:47
【问题描述】:
我想为我的网站将 http 请求转换为 https。 我已经取得 SSL 证书但可能有绕过的机会 我的应用程序启用了加密,并且在获得证书后,我的应用程序无法阻止通过不安全的连接进行访问
【问题讨论】:
我想为我的网站将 http 请求转换为 https。 我已经取得 SSL 证书但可能有绕过的机会 我的应用程序启用了加密,并且在获得证书后,我的应用程序无法阻止通过不安全的连接进行访问
【问题讨论】:
不幸的是,在 weblogic 中没有简单的方法来启用它(简单的复选框形式)。
您最好的选择可能是添加您自己的过滤器来添加 HSTS 标头。看看这个答案如何做到这一点: https://stackoverflow.com/a/30455120/1391209
这里是相关的答案文本,以便于参考(以防该答案被删除):
您可以使用过滤器添加它。将以下 sn -p 添加到 web.xml:
<filter>
<filter-name>HSTSFilter</filter-name>
<filter-class>security.HSTSFilter</filter-class>
</filter>
然后在你的 webapp 中创建一个过滤器:
package security;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletResponse;
public class HSTSFilter implements Filter {
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
HttpServletResponse resp = (HttpServletResponse) res;
if (req.isSecure())
resp.setHeader("Strict-Transport-Security", "max-age=31622400; includeSubDomains");
chain.doFilter(req, resp);
}
}
【讨论】:
web.xml上并创建过滤器类吗?我看到参考问题(问题部分)也在jsp上做重定向。这是必须的吗?
在您的 web.config 中使用此代码
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Strict-Transport-Security" value="max-age=31536000"/>
</customHeaders>
</httpProtocol>
</system.webServer>
【讨论】:
对 Oracle Weblogic Server 12.2.1.4 或更新版本使用 -Dweblogic.http.headers.enableHSTS=true JVM 系统属性。应用了 2019 年 10 月补丁集更新的旧补丁集/版本也向后移植了此功能。
【讨论】: