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

分类: CentOS

由于微信小程序的缘故,需要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/ 路径下。
如需绑定多个,请参考以上格式,自行设置。

标签: Nginx CentOS

上一篇: 【CentOS&Core】CentOS7下安装和升级.NET Core SDK

下一篇: 没有了

by 2023-08-07 23:49:03
篇笔记

学习笔记