欢迎来到站长教程网!

Nginx

当前位置:主页 > 服务器教程 > Nginx >

详解Nginx设置SSL证书实现Https会见

时间:2021-05-04|栏目:Nginx|点击:

配景

由于项目需求,安详起见,需要将之前的http接口会见酿成https会见,所以需要设置SSL证书。项目标架构是这样的:

详解Nginx配置SSL证书实现Https接见

根基架构是硬负载(ReadWhere)+ 软负载(Nginx)+ Tomcat集群,此刻的问题是SSl证书要设置在那边,直接设置在硬负载上?照旧别离设置在Nginx和Tomcat上?照旧其他的设置要领呢?

首先在硬负载上设置放弃了,然后通过在网上查找资料,发明可以只在Nginx上设置证书,就是说Nginx接入利用Https,而Nginx与Tomcat之间利用Http举办跟尾,这样就游了一个整体思路。

关于SSL证书

关于SSL证书这里简朴举办先容,也是因为项目需要,举办了简朴的相识。

SSL证书分为大抵分为三种,域名级(DV)、企业级(OV)、加强级(EV),安详性以及价值依次增加。按照本身的需求举办选择,小我私家利用可以利用DV,自制;企业用的话一般利用OV,非凡环境下利用EV。下面是几家云处事商的OV SSL证书的价值比拟,Symantec和GeoTrust被选用的较量多,都属于赛门铁克旗下。

云处事商 证书品牌 价值
阿里云 Symantec 4000/年
阿里云 GeoTrust 2062.4/年
腾讯云 Symantec 5000/年
腾讯云 GeoTrust 2850/年
西部数码 Symantec 3880/年
西部数码 GeoTrust 2137/年

SSL证书设置

由于Nginx对付SSL证书设置的支持才使得这种实现方法成为了大概,不得不叹息Nginx的强大。

证书筹备

Nginx设置需要.pem/.crt证书 + .key秘钥,假如您此刻拥有的是其他形式的证书,请凭据相关说明转化成要求的证书范例,不然是不能完成证书的设置的。一般购置商家城市有相应的转换东西。

筹备好了之后,将证书和秘钥放到Nginx的conf目次下(也就是跟设置文件nginx.conf在同一个目次),这里出格需要留意:

  1. 假如是在linux系统下设置,这就算筹备好了;
  2. 假如是在windows系统下,需要将.key秘钥文件中的暗码去除,不然就会导致设置之后Nginx启动不起来,这里是一个坑,本人就卡在了这里,详细处理惩罚要领也很简朴,在网上下载openssl的windows版本,然后将cmd切换到bin目次下,执行openssl rsa -in server.key -out server2.key,生成的server2.key就是设置需要的秘钥文件,可是需要将文件名改成server.key。

修改Nginx设置文件

以下是我nginx.conf设置文件的局部,端口沉迷没有利用默认的443,而是改成了8185,按照您的需要举办修改即可,其他设置根基上凭据下面就没问题。

server {
    listen    8185;
    server_name localhost; 
    ssl         on; 
    ssl_certificate   server.pem; 
    ssl_certificate_key server.key; 
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM; 
    ssl_prefer_server_ciphers  on;

    location / {
      proxy_set_header Host $host:$server_port; 
      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;
      proxy_connect_timeout  5;
      proxy_send_timeout   5;
      proxy_read_timeout   5; 
      proxy_pass http://qlddm_server;
    }

修改Tomcat设置文件

固然不需要在Tomcat设置证书,可是仍然需要修改一下Tomcat的设置Server.xml设置文件,详细包括两个处所:

<Connector 
    executor="tomcatThreadPool"
    port="7083" 
    protocol="org.apache.coyote.http11.Http11Nio2Protocol" 
    connectionTimeout="20000" 
    maxConnections="8000" 
    redirectPort="8185" 
    proxyPort="8185"
    enableLookups="false" 
    acceptCount="100" 
    maxPostSize="10485760" 
    compression="on" 
    disableUploadTimeout="true" 
    compressionMinSize="2048" 
    acceptorThreadCount="2" 
    compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript" 
    URIEncoding="utf-8"
  />

上一篇:nginx处理惩罚http请求实例详解

栏    目:Nginx

下一篇:nginx 负载平衡的三种参数配置

本文标题:详解Nginx设置SSL证书实现Https会见

本文地址:www.jiaocheng88.com.cn/Nginx/61863.html

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:584415406 | 邮箱:584415406#qq.com(#换成@)

Copyright © 2015-2020 小白站长教程网 版权所有 苏ICP备20040415号-3