[乐意黎]Centos设置Nginx反向代理绑定多个SSL(https)证书详解

版权声明:本文若为 {aerchi/乐意黎} 原创文章,未经允许不得镜像、采集博客内容。如有转载, 请务必注明来源。 https://blog.csdn.net/aerchi/article/details/84975644

由于微信小程序的缘故,需要SSL服务。

文章用详解用了两个免费SSL证书反向代理到一个主机端口上。


第一步:  检查Nginx是否支持SNI,方式如下

    命令:nginx -V
    若返回结果中有显示“TLS SNI support enabled”,则表示支持。(如下)

[root@aerchi ~]# nginx -v
nginx version: nginx/1.15.5

[root@aerchi ~]# nginx -V
nginx version: nginx/1.15.5
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_gzip_static_module --with-http_ssl_module --with-http_flv_module --with-http_random_index_module --with-http_degradation_module --with-http_secure_link_module --with-http_realip_module --with-pcre

第二步: 创建新虚拟主机,并配置上二个SSL证书。

如下,把两个SSL域名都指向同一个主机或反向代理端口,

(注:免费SSL证书可通过阿里云或腾讯云申请,本人的证书是阿里云申请)

nginx 安装路径:  /usr/local/nginx
nginx 配置文件路径:  /usr/local/nginx/conf/nginx.conf

通过下列命令: vim  /usr/local/nginx/conf/nginx.conf, 在里面加入
(注:本人是用反向代理到node js 服务)

     # HTTPS server 1
     # author: aerchi
     server {
         listen       443 ssl;
         server_name  api.daza.ren;
         #ssl          on;
         #cert.pem
         ssl_certificate      "/usr/data/cert-ssl/api.daza.ren_nginx.pem";
         #cert.key
         ssl_certificate_key  "/usr/data/cert-ssl/api.daza.ren_nginx.key";

         access_log  /var/log/nginx/api.ssl.log;

         ssl_session_cache    shared:SSL:1m;
         ssl_session_timeout  5m;

         ssl_ciphers  HIGH:!aNULL:!MD5;
         ssl_prefer_server_ciphers  on;

         location / {
             proxy_pass   http://127.0.0.1:3389;
             #root   html;
             #index  index.html index.htm index.php;
         }
     }


     # HTTPS server 2
     # author: aerchi
     server {
         listen       443 ssl;
         server_name  wxapi.daza.ren;
         #ssl          on;
         #cert.pem
         ssl_certificate      "/usr/data/cert-ssl/wxapi.daza.ren_nginx.pem";
         #cert.key
         ssl_certificate_key  "/usr/data/cert-ssl/wxapi.daza.ren_nginx.key";

         access_log  /var/log/nginx/wxapi.ssl.log;

         ssl_session_cache    shared:SSL:1m;
         ssl_session_timeout  5m;

         ssl_ciphers  HIGH:!aNULL:!MD5;
         ssl_prefer_server_ciphers  on;

         location / {
             proxy_pass   http://127.0.0.1:3389;
             #root   html;
             #index  index.html index.htm index.php;
         }
     }

 如上:请确保    xxx.pem 和 xxx.key 放在  /usr/data/cert-ssl/ 路径下。
如需绑定多个,请参考以上格式,自行设置。
 

第三步:  测试


第一个配置证书生效。

第二个配置证书生效。


乐意黎
2018-12-12 

猜你喜欢

转载自blog.csdn.net/aerchi/article/details/84975644
今日推荐