Nginx + Tomcat + 的HTTPS 配置

一、配置nginx

 

1.将SSL证书放在 nginx/conf/cert 目录下。

2.修改nginx.conf。配置实例:

server {

listen 443 ssl;

server_name fssc.haidilao.com; # 改为绑定证书的域名

ssl_certificate cert/1582243.pem; # 改为自己申请得到的 pem 文件的路径

ssl_certificate_key cert/1582243.key; # 改为自己申请得到的 key 文件的路径

ssl_session_timeout 5m;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;

ssl_prefer_server_ciphers on;

location / {

     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_set_header Host $http_host;

        proxy_set_header X-Forwarded-Proto https;

        proxy_redirect off;

}

}

3.配置修改完后,输入 ./nginx -s reload 重启Nginx。

 

二、还需配置tomcat。

 

将server.xml文件修改,实例如下:

1.修改connector节点配置。

<Connector port="8080" protocol="HTTP/1.1"

               connectionTimeout="20000"

               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"/>

 

参考:https://www.oschina.net/question/12_213459
 

三、常见问题

 

自己安装的nginx可能缺少ssl模块,导致nginx配置时报错。

nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:37

解决方法:nginx安装ssl模块。

参考:https://blog.csdn.net/u011789653/article/details/77935166

 

转载于:https://www.cnblogs.com/yfy-/p/10070653.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值