Nginx使用多域名SSL证书配置域名的教程

  • A+
所属分类:技术教程

在Nginx给多个域名配置https的提前,我们先购买申请多域名SSL证书。待颁发多域名SSL证书之后,下载证书文件,保存为pem 和 key文件,上传至服务器。

接下来,我们就可以在Nginx给多个域名配置https,方法如下:

首先, 需要把 http 都转发到 https, 需要使用 rewrite, 这样, 当访问 http://example.cn 会自动转发到 https://example.cn。这时候有多少域名配置几个:

server {
listen 80; # redirect to 443
server_name AAA.example.cn www.AAA.example.cn;
rewrite ^(.*)$ https://$host$1 permanent;
}

server {
listen 80; # redirect to 443
server_name BBB.example.cn www.BBB.example.cn;
rewrite ^(.*)$ https://$host$1 permanent;
}

虽然域名不同, 但都监听 443 端口, 但有着不同的 server_name, 这样当收到请求时就可以根据请求的 server_name 不同来转发到不同的服务,而服务自身像往常一样只要继续监听 8090、8091 即可。

server {
listen 443 ssl;
server_name AAA.example.cn www.AAA.example.cn;

ssl_certificate “/home/yushan/demontf/2076603_AAA.example.cn.pem”;
ssl_certificate_key “/home/yushan/demontf/2076603_AAA.example.cn.key”;

location / {
proxy_pass http://127.0.0.1:8090;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_redirect default;
}
}

server {
listen 443 ssl; # redirect to https
server_name BBB.example.cn www.BBB.example.cn;

ssl_certificate “/home/yushan/demontf/2005538_BBB.example.cn.pem”;
ssl_certificate_key “/home/yushan/demontf/2005538_BBB.example.cn.key”;

location / {
proxy_pass http://127.0.0.1:8091;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_redirect default;
}
}

最后一步重启 Nginx 就可以啦!

(本文由美国主机资讯原创,转载请注明!)

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
avatar