heroku:spring boot仅使用https接入端点

heroku:spring boot仅使用https接入端点,第1张

heroku:spring boot仅使用https接入端点

实际上,我已经在此仓库https://github.com/fenrirx22/springmvc-https-
enforcer中
找到了一个解决方案(终于)。

创建了2个课程:

@Configurationpublic class ApiConfig {    @Bean    public Filter httpsEnforcerFilter(){        return new HttpsEnforcer();    }}

和:

public class HttpsEnforcer implements Filter {    private FilterConfig filterConfig;    public static final String X_FORWARDED_PROTO = "x-forwarded-proto";    @Override    public void init(FilterConfig filterConfig) throws ServletException {        this.filterConfig = filterConfig;    }    @Override    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {        HttpServletRequest request = (HttpServletRequest) servletRequest;        HttpServletResponse response = (HttpServletResponse) servletResponse;        if (request.getHeader(X_FORWARDED_PROTO) != null) { if (request.getHeader(X_FORWARDED_PROTO).indexOf("https") != 0) {     response.sendRedirect("https://" + request.getServerName() + request.getPathInfo());     return; }        }        filterChain.doFilter(request, response);    }    @Override    public void destroy() {        // nothing    }}

奇迹般有效。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5501291.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-12
下一篇2022-12-12

发表评论

登录后才能评论

评论列表(0条)

    保存