- 积分
- 8
- 威望
-
- 金钱
-
- 注册时间
- 2018-2-17
- 在线时间
- 小时
- 最后登录
- 1970-1-1
|
请问下军哥,我在一个 IP 上绑了 2 个域名,在给他们先后开启 SSL 后,先前开启 SSL 的域名会跳转到新开启 SSL 的域名,如果我清空新开启 SSL 域名对应的 conf 文件,先前开启 SSL 的域名就能正常访问。VPS 是 CentOS 6 x64,lnmp 用的是 1.4 版本,确认 SNI 是启用的,按理说是支持单 IP 多域名 SSL 的。但是这个跳转问题困扰了我好几天,麻烦军哥指教下,谢谢。
下面贴上我 2 个域名对应的 conf(网站信息以 a,b 代替)
域名 a 的 conf:
server
{
listen 443 ssl; #lnmp1.3+版本默认支持http2,可以加上http2,lnmp1.2版本默认支持spdy,可以加上spdy
server_name www.a.com; ##这里是你的域名
index index.html index.htm index.php default.html default.htm default.php;
root /home/wwwroot/www.a.com; #网站目录
ssl_certificate /etc/letsencrypt/live/www.a.com/fullchain.pem; #前面生成的证书,改一下里面的域名就行
ssl_certificate_key /etc/letsencrypt/live/www.a.com/privkey.pem; #前面生成的密钥,改一下里面的域名就行
ssl_ciphers "EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
include wordpress.conf; #这个是伪静态根据自己的需求改成其他或删除
#error_page 404 /404.html;
location ~ [^/]\.php(/|$)
{
# comment try_files $uri =404; to enable pathinfo
try_files $uri =404;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf; #lnmp 1.0及之前版本替换为include fcgi.conf;
#include pathinfo.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
access_log off;
}
server
{
listen 80;
server_name www.a.com a.com;
location /.well-known/ #这段在续期前还需要在nginx配置下,80端口的虚拟主机上需要添加上,不加的话会无法验证的
{
add_header Content-Type 'text/plain;';
root /home/wwwroot/www.a.com; #网站目录
}
location /
{
return 301 https://www.a.com$request_uri;
}
}
域名 b 的 conf:
server
{
listen 443 ssl; #lnmp1.3+版本默认支持http2,可以加上http2,lnmp1.2版本默认支持spdy,可以加上spdy
server_name www.b.com; ##这里是你的域名
index index.html index.htm index.php default.html default.htm default.php;
root /home/wwwroot/www.b.com; #网站目录
ssl_certificate /etc/letsencrypt/live/www.b.com/fullchain.pem; #前面生成的证书,改一下里面的域名就行
ssl_certificate_key /etc/letsencrypt/live/www.b.com/privkey.pem; #前面生成的密钥,改一下里面的域名就行
ssl_ciphers "EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
include wordpress.conf; #这个是伪静态根据自己的需求改成其他或删除
#error_page 404 /404.html;
location ~ [^/]\.php(/|$)
{
# comment try_files $uri =404; to enable pathinfo
try_files $uri =404;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf; #lnmp 1.0及之前版本替换为include fcgi.conf;
#include pathinfo.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
access_log off;
}
server
{
listen 80;
server_name www.b.com b.com;
location /.well-known/ #这段在续期前还需要在nginx配置下,80端口的虚拟主机上需要添加上,不加的话会无法验证的
{
add_header Content-Type 'text/plain;';
root /home/wwwroot/www.b.com; #网站目录
}
location /
{
return 301 https://www.b.com$request_uri;
}
} |
|