Tomcat

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Tomcat > tomcat配置https访问教程 nginx分发多个tomcat

tomcat配置https访问教程 nginx分发多个tomcat怎么设置?

作者:程序员一只长毛橘

想知道如何用nginx和tomcat实现https域名访问?本文详细讲解从阿里云申请SSL证书、配置tomcat的https访问,到nginx分发多个tomcat的完整步骤,帮你轻松搞定生产环境中的安全访问和负载均衡

tomcat+nginx配置https访问

标题tomcat做web服务器,已经知道ip+端口访问了,真正开发中需要的是域名访问,甚至是https访问协议。

准备工作 :tomcat,nginx,SSL证书;

1、这里是从阿里云上申请的一个SSL证书

下载我们需要的tomcat版本


2、上传到服务器tomcat目录下

并解压,创建一个cert文件夹把解压文件放入;

3、配置tomcat,/conf/service.xml配置文件

<Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="443" 
               URIEncoding="UTF-8"
               useBodyEncodingForURI="true"/>
   <Connector port="443"
    URIEncoding="UTF-8"
    useBodyEncodingForURI="true"
    protocol="HTTP/1.1"
    SSLEnabled="true"
    scheme="https"
    secure="true"
    keystoreFile="cert/7354355_adv.ss.com.pfx"    //刚才上传的/证书 
    keystoreType="PKCS12"
    keystorePass="M83445"                 //刚才pfx-password.txt 里面内容
    clientAuth="false"
    ciphers="TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
    SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
    SSLCipherSuite="ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4"/> 

最后启动tomcat,即可通过 https:域名访问到tomcat,这里已经可以通过域名访问了,但是在实现工作中,我们不可能一台服务器只配置一个tomcat,而是配置多个tomcat。

我们可以用nginx做分发,nginx也可以配置https,我们上面已经配置好了tomcat,就没必要去配置nginx的https了,直接nginx 分发过去就好了

4、修改tomcat中的80端口

tomcat/conf/service.xml

修改为8616,修改成功后,保存,重启tomcat;

5、修改nginx目录下的/conf/nginx.conf

添加8616端口

  #####adv入口#######
        upstream tomcat-8616{
                server localhost:8616;
        }

        server {
        listen       80;
        server_name  adv.ss.com;
            location / {
            proxy_pass   http://tomcat-8616;
            //访问静态资源的配置
            proxy_set_header Host $http_host;
            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;
        }
        

        location ~ .*\.(js|css)$ {
             proxy_pass http://tomcat-8616;
        }

         location ~ .*\.(gif|jpg|jpeg|jpg|bmp|swf)$ {
             proxy_pass http://tomcat-8616;
        }
    }

启动nginx 即可; 这样访问流程就是,域名–>nginx分发—>tomcat解析协议生活https访问—>渲染返回客户端!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文