我们如何在 weblogic 服务器中启用 HSTS(HTTP 严格传输安全)

How can we Enable HSTS(HTTP Strict-Transport-Security) in weblogic server

我想将网站的 http 请求转换为 https。 我已经取得了 SSL 证书,但可能会被绕过 我的应用程序启用了加密,在获得证书后,我的应用程序无法阻止通过不安全的连接进行访问

不幸的是,没有简单的方法可以在 weblogic 中启用它(简单的复选框形式很简单)。

您最好的选择可能是添加您自己的过滤器以添加 HSTS header。看看这个关于如何做到这一点的答案: https://whosebug.com/a/30455120/1391209

这里是相关的答案文本以便于参考(以防答案被删除):

You can add it using a filter. Add the following snippet to web.xml:

<filter>
    <filter-name>HSTSFilter</filter-name>
    <filter-class>security.HSTSFilter</filter-class>
</filter>

And then create a filter in your 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.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 月补丁集更新的旧补丁 sets/releases 也向后移植了此功能。