美文网首页
tomcat+nginx无法跳转https

tomcat+nginx无法跳转https

作者: Master大屎 | 来源:发表于2024-02-06 09:00 被阅读0次

    一、配置https
    1、编译是需要加上ssl模块
    2、开启https,并配置证书

        ssl_certificate      certs/xbell/fullchain.pem;
        ssl_certificate_key  certs/xbell/privkey.pem;
        listen 443 ssl;
    

    二、针对request.getScheme()
    若Java中使用 request.getScheme(),导致无法进行https->http转化,现需要对nginx和tomcat进行配置
    1、nginx

            proxy_set_header X-Real-IP $remote_addr;  
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
            proxy_set_header X-Forwarded-Proto $scheme;
    

    最后一行为设置https访问
    2、tomcat 修改配置
    Engine模块增加如下节点:

    <Valve className="org.apache.catalina.valves.RemoteIpValve"
               internalProxies="192.168.1.XXX"
               remoteIpHeader="x-forwarded-for"
               remoteIpProxiesHeader="x-forwarded-by"
               protocolHeader="x-forwarded-proto"
        />
    

    其中需要将代理服务器的Ip加入到internalProxies中,否则会失败

    三、注意点
    1、nginx 请选用最新版本
    2、nginx 编译时请带上ssl
    3、https必须占用443端口

    四、参考文档
    http://blog.inford.net/doc/171
    https://blog.csdn.net/radic_feng/article/details/6720059

    相关文章

      网友评论

          本文标题:tomcat+nginx无法跳转https

          本文链接:https://www.haomeiwen.com/subject/yvdcadtx.html