栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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    }}

奇迹般有效。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/508900.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号