正在加载中...

关闭
请选择需要拨打的号码
关闭
请根据问题类型选择QQ咨询

nginx+tomat环境的ssl数字证书部署方法实现https安全连接

nginx+tomat环境的ssl数字证书部署方法实现https安全连接

关于nginx+tomcat环境实现https访问协议,部署方法网上一直有两种说法:1.nginx和tomcat都要部署ssl证书2.nginx部署ssl证书,tomcat增加ssl支持。nginx+tomcat服务器环境部署SSL证书的方法如下:

 

一. 申请SSL证书

    请到SSL证书申请页面申请SSL数字证书,DV域名型的SSL证书比较便宜,证书颁发快。


二.部署证书到nginx并配置

 

nginx的证书部署相对简单。

1.确定nginx是否安装了ssl模块,如果没有需要重新make install。(建议 pcre-8.38 zlib-1.2.8 openssl-1.0.2g  版本太高可能导致编译失败)

2.把厂商提供的 domain.crt 内容追加到 domain.cer, 然后把 domain.key 和 domain.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节点 <Valve className="org.apache.catalina.valves.RemoteIpValve"
remoteIpHeader="x-forwarded-for"
remoteIpProxiesHeader="x-forwarded-by"
protocolHeader="x-forwarded-proto"/>

 大功告成!



返回上一页