Nginx Web环境同目录绑定多个域名且支持SSL方法

今天,云计算优惠遇到一个网友需要将同网站目录绑定多个域名,且可以实现每个域名的SSL证书,也就是说都要实现HTTPS加密格式。项目是微擎管理系统,目的是希望给客户的演示域名并非主站的域名,而是临时的测试域名,根据他的说法是希望不要被人知道主域名,这样不容易被人投诉。

但是,辅助和临时域名希望与主站的数据一样。他开始提Z t ] M到是否可以用) % 0 h e301方式实现,301肯定不可以实现,因为打开之后还是会跳转到主站的域名。他的主站是有HTTPS加密的,因为根据微信的政U ^ m D Z j策,需要微擎等项目都要SSL证书支持HTTPS才可以运行。所以希望辅助域名也可以用到SSL证书。

开始我想远了,准备将所有数据和数据库信息都用增量备份的形r } Z式实现的,虽} R R然可以实现,但是确实比较复杂没有O ] , i必要。然后想到是否可以直接在Nginx配置文件中添加多个server模块实现。

文章目录
隐藏
第一1 Y v J V、配置准备工作

第二、原始Nginx配置文件

第二、添加多域名配置文件

第一、配置准备工作

1、将备用域名解析到当前主站点域名所在的服务器中Y Y * [ N ; } `

2、备用域名需要申请自己的SSL证书。当然,如果我们不放心,还是先将服务器重要数据备份。

第二、原始Nginx配置文件

server {
lis) i 5 C Sten 443;
ssl o% G , 8 o { `n;
root /www/web/laobuluoI N O 8 v [ |_com/public_html;
server_name laobuluo.com www.laobulu% A * p y l % q ^o.com;

inde? t u S = U Hx index.html index.php index.htm;
ssl_D G % W E : ucertif| t @ J E } V } Wicate /www/wdlinux/nginx-1.8.1/conf/cert/laobuluo.com.pem;
ssl_certificate_key /www/wdliF (nux/ngi@ ^ Z % g x L e Hnx-1.8.1/conf/cert/laobuluo.com.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSAC w T f-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssH J - l p rl_protocols TLSvE ` f _ W 1 q _ L1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location ~ ` I @ + 9 0.php$ {
proxy_pass http://127.0.0.1:88;
include naproxL f h D * m ty.conf;
}x ^ E E , = d
location ~ /\.ht {
deny all;
}
locD s . 5ation / {
try_files $uri @apache;
}
location @apache {
internal;
proxy_pass http://127.0.0.1:88;
include naproxy.conf;
}
}

server {
listen 80;
roo7 n At /www/web/laobuluo_com/public_html;
server_name laobuluo.com[ z M Q K S K Y 8 www.laobuluo.com;
index index7 _ t ; 1 : } = Y.html index.php index.htm;
error __page 400 /errpage/400.html;
error_page 403 /errpage/403.html;
error_page 404 /errpage/404.hb ~ m x e o mtml;
error_page 503 /x F 7 n p * merrpage/503.html;
location ~ \.php$ {
proxy_pass http://127.0.0.1:88;
include napr. ( oxy.conf;
}
location ~ /\.ht {
deny all;
}
location / {
try_files $uri @apache;
}
loca[ Q htion @apache {
internal;
proxy_pass htS 5 J q F M L R )tp://127.0.0.1:88;
include naproxy.conf;
}
}

这个客户主站的SSL证书也是我帮助配置的,上面就是原有的配置文件。注意域名这里我替换掉了。我们需要根据自己的来配置。

第二、添加多域名配置文件

server {
listen 443;
ssl on;
root /d w 8 W 1 * V q kwww/web/itbulu_com/puu ! k Mblic_html;
server_name itbulu.com www.itbulu.com;

ins L w 2 - z P 0dex index.html i9 7 0 M ^ Yndex.php index.htm;
ssl_certificB K l * z G gate /www@ $ I . Y ( } U/wdlinux/nginx-1.8.1/conf/cert/itbulu.com.pem;
ssl_certificate_key /www/wdlinu Z S : V ^x/nginx-1.8.1/conf/cert/itbulu.com.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-u * h s 2 n #RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aP V 5 w %NULL:!e e c 9 M | U NMD5:!ADH:!RC4;
ssl_protocols TLSvF ) n S O H p T1 TLSv1.1 TLSv1.2;
ssl_prefer_r ; B A X eserver_ciphers on;
location ~ \.php$ {H 3 Z `
proxyA D ) | 3_pass http) S n M H +:/b * } 4 //127.0.0.; u 9 R _1:88;
include naproxy.cr # eonf;
}
location ~ /\.ht {
deny all;
}
location / {
try_files $uri @apacG . fhe;
}
location @apache {
internal;
proxy_pass http://127.0.0.1:88;
include naproxy.conf;
}
}

这里我们需要^ w e 9 z 5添加一个新备用域名的server模块到配置文件中。同时需要将80端口中的server_name配置域名,加上新的域名。

server_name laobuluo.com www.laobuluo.com itbulu./ K 6com www.itbulu.com;

最后,重启Nginx可以生效,这时候云计算优惠去打开新网址和主站老网站都可以打开HTTPS格式的。