欢迎来到云服务器

服务器租用

nginx+tomat https ssl设置完美办理方案

关于nginx+tomcat https的陈设之前网上一直有2种说法:

1.nginx和tomcat都要陈设ssl证书

2.nginx陈设ssl证书,tomcat增加ssl支持

在实际的陈设进程中nginx的设置和ssl证书陈设很顺利,可是tomcat用网上传播的说法设置之后,发明非静态内容无法正常利用。(项目用了dubbox,dubbox基于resteasy宣布rest协议)

颠末一系列折腾,最终总结出以下履历,但愿能帮到其他人。

一. 申请SSL证书

     SSL证书其实可以本身生成,可是因为本身生成的证书不是欣赏器厂商承认的受信机构揭晓,所以欣赏器会打红叉!为了用户体验,所以

我们要到SSL证书厂商哪里申请SSL证书。小我私家推荐 globalsign(淘宝用的) wosign.com(价值优惠) startssl(有免费版)。假如利用单域名DV证书,签发只要15分钟-2小时。厂商凡是会把签发好的证书以邮件形式发送过来。

1. 本身生成 证书签名请求(CSR)和私钥(KEY)。可以利用厂商提供的东西https://www.trustasia.com/tools/csr-generator/  

也可以利用openssl生成 openssl req -new -nodes -newkey rsa:2048 -keyout domain.key -out domain.csr 

2.把 证书签名请求(CSR)和私钥(KEY)提供应厂商。

3.收到厂商签发好的证书。(私钥照旧本身的)

二.陈设证书到nginx并设置

nginx的证书陈设相对简朴。

1.确定nginx是否安装了ssl模块,,假如没有需要从头mark install。(发起 pcre-8.38 zlib-1.2.8 openssl-1.0.2g  版本太高大概导致编译失败)

2.把厂商提供的 x.crt 内容追加到 x.cer, 然后把 x.key 和 x.cer 放到Nginx处事器

3.nginx.conf 增加https支持。主要是设置 80 和 443 端口的监听

server {
         listen     80;
        server_name  x;
        rewrite ^(.*)$  https://$host$1 permanent; 
        }
  server {
        listen       443;
        server_name  x;
        ssl                  on;
        ssl_certificate      /etc/nginx/server.cer;
        ssl_certificate_key   /etc/nginx/server.key;
        ssl_session_timeout  5m;
        ssl_protocols TLSv1;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers   on;
         location / {
              client_max_body_size    16m;
              client_body_buffer_size 128k;
              proxy_pass                          http://online/;
              proxy_set_header        Host $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 https;
              proxy_next_upstream   off;
              proxy_connect_timeout   30;
              proxy_read_timeout      300;
              proxy_send_timeout      300;
        }
    }

我这里做了http强跳到https,不需要这个成果,可以去掉  rewrite ^(.*)$ https:

三.tomcat增加对https协议的支持

1.Connector节点插手 redirectPort="443" proxyPort="443"

2.插手新的Value节点

腾讯云代理

Copyright © 2003-2021 MFISP.COM. 国外vps服务器租用 梦飞云服务器租用 版权所有 粤ICP备11019662号