打印

多个域名配置ssl,配置文件怎么设置

多个域名配置ssl,配置文件怎么设置

服务器信息:centos7.4   64位   php7.1.2     

单个域名增加SSL已经搞定,实现了http://访问时自动跳转到https://,这样做的目的是无论用户是手动输入域名访问网站,默认都是http://,还是使用https://访问都保证网站可以打开,由于服务器上有多个网站使用了微信支付接口,而微信公众平台从2018年1月1日起,接口要求使用https://才能调用,所以不得不把网站改https://了。
单个网站搞定了,但多个域名配置SSL的时候就只有第一个配置的网站可以使用,其它的则用不了,麻烦军哥帮我看一下nginx的配置文件该怎么改,现在把单个网站配置SSL域名后自动跳转到https://的网站配置文件代码粘贴出来方便有http://跳转到https://需求的朋友解决跳转问题。

以下是需要增加到nginx.conf文件中的代码,直接放在nginx.conf最下面就可以,据说ssl on已经废除了,大家可以试一下。
server {
    listen 443;
    server_name www.lnmp.org;
    ssl on;
    root  /www/wwwroot/default;
    index index.html index.htm;
    ssl_certificate   /usr/local/nginx/conf/cert/214306099660183.pem;
    ssl_certificate_key  /usr/local/nginx/conf/cert/214306099660183.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(/|$)

{

# 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;

#include pathinfo.conf;

}


location /nginx_status {

stub_status on;

access_log   off;

}


location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

{

expires      30d;

}


location ~ .*\.(js|css)?$

{

expires      12h;

}
            access_log  /www/wwwlogs/access.log  access;
       }

include vhost/*.conf;
}


这下面的内容是vhost文件夹中网站配置文件的部分

server

{

listen 80;

#listen [::]:80;

server_name www.abc.com abc.com;

index index.html index.htm index.php default.html default.htm default.php;

root  /www/wwwroot/abc.com;
                return  301 https://$server_name$request_uri;

include ht.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;

#include pathinfo.conf;

}


location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

{

expires      30d;

}


location ~ .*\.(js|css)?$

{

expires      12h;

}


access_log off;

}

server {
        listen 443;
        server_name abc.com www.abc.com;

        root  /www/wwwroot/abc.com;
        index index.html index.htm index.php;

        ssl on;
        ssl_certificate   /usr/local/nginx/conf/cert/214306099660183.pem;
        ssl_certificate_key  /usr/local/nginx/conf/cert/214306099660183.key;

        include ht.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;

#include pathinfo.conf;

}


location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

{

expires      30d;

}


location ~ .*\.(js|css)?$

{

expires      12h;

}


access_log off;

}


单个网站这样配置应该是没问题的,但多个域名都要配置SSL,就不知道nginx.conf要怎么设置了,还往军哥多多指教,网上看了很多说法有点懵,虽然用了四年lnmp了,从1.1用到1.4,但还是小白一个,

[ 本帖最后由 bjwindy 于 2017-12-4 18:11 编辑 ]

TOP