nginx php多域名配置文件,Nginx Web环境同目录绑定多个域名且支持SSL方法

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

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

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

第一、配置准备工作

1、将备用域名解析到当前主站点域名所在的服务器中。

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

第二、原始Nginx配置文件

server {

listen 443;

ssl on;

root /www/web/laobuluo_com/public_html;

server_name laobuluo.com www.laobuluo.com;

index index.html index.php index.htm;

ssl_certificate /www/wdlinux/nginx-1.8.1/conf/cert/laobuluo.com.pem;

ssl_certificate_key /www/wdlinux/nginx-1.8.1/conf/cert/laobuluo.com.key;

ssl_session_timeout 5m;

ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

ssl_prefer_server_ciphers on;

location ~ \.php$ {

proxy_pass http://127.0.0.1:88;

include naproxy.conf;

}

location ~ /\.ht {

deny all;

}

location / {

try_files $uri @apache;

}

location @apache {

internal;

proxy_pass http://127.0.0.1:88;

include naproxy.conf;

}

}

server {

listen 80;

root /www/web/laobuluo_com/public_html;

server_name laobuluo.com www.laobuluo.com;

index index.html index.php index.htm;

error_page 400 /errpage/400.html;

error_page 403 /errpage/403.html;

error_page 404 /errpage/404.html;

error_page 503 /errpage/503.html;

location ~ \.php$ {

proxy_pass http://127.0.0.1:88;

include naproxy.conf;

}

location ~ /\.ht {

deny all;

}

location / {

try_files $uri @apache;

}

location @apache {

internal;

proxy_pass http://127.0.0.1:88;

include naproxy.conf;

}

}

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

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

server {

listen 443;

ssl on;

root /www/web/itbulu_com/public_html;

server_name itbulu.com www.itbulu.com;

index index.html index.php index.htm;

ssl_certificate /www/wdlinux/nginx-1.8.1/conf/cert/itbulu.com.pem;

ssl_certificate_key /www/wdlinux/nginx-1.8.1/conf/cert/itbulu.com.key;

ssl_session_timeout 5m;

ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

ssl_prefer_server_ciphers on;

location ~ \.php$ {

proxy_pass http://127.0.0.1:88;

include naproxy.conf;

}

location ~ /\.ht {

deny all;

}

location / {

try_files $uri @apache;

}

location @apache {

internal;

proxy_pass http://127.0.0.1:88;

include naproxy.conf;

}

}

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

server_name laobuluo.com www.laobuluo.com itbulu.com www.itbulu.com;

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值