linux - Nginx中http与https一级域名二级域名重定向的问题
PHPz
PHPz 2017-05-16 13:19:44
0
3
995

~~请教各位前辈一个问题:
今天将站点开启了SSL支持,我想做到:
不管访问https://domain.com 还是http://domain.com亦或者是http://www.domain.com,均301自动跳转到https://www.domain.com, 也就是说https://www.domain.com作为唯一的访问Url
请问应该怎样写配置?我的做法是这样的:

但是访问会出错。显示连接失败。
去掉

server {
    listen 443;
    server_name domain.com;
    return 301...
}

这段便可以正常访问,但是访问https://domain.com不会跳转到https://www.domain.com

有什么办法解决吗?
~~
已解决:https://www.iots.vip/post/ngi...

PHPz
PHPz

学习是最好的投资!

全部回复(3)
淡淡烟草味

连接失败,http status code是多少,感觉这样子配置没啥问题啊。

server {
        listen 443 ssl;
        server_name www.test.com;
        root html;
        index index.html index.htm;
        ssl_verify_client off;
        ssl_certificate /etc/nginx/test.com.crt;
        ssl_certificate_key /etc/nginx/test.com.pem;
        ssl_client_certificate /etc/nginx/ca.com.crt;
        location / {
                proxy_set_header X-http-type https;
                proxy_set_header X-request-ip $remote_addr;
                proxy_pass http://127.0.0.1:9004/;
        }
        ssl_session_timeout 5m;
        ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
        ssl_prefer_server_ciphers on;
    }
server {
        listen 443;
        server_name test.com;
        return 301 https://www.test.com$request_uri;

    }
server {
        listen 80;
        server_name test.com www.test.com;
        return 301 https://www.test.com$request_uri;

    }
    

在我这没问题,这样子,都能实现跳转。

仅有的幸福

连接已重置。 并无状态码。

Peter_Zhu

关于domain.com跳转www.domain.com的问题你可以在域名解析的时候直接进行设置

www A记录 10.10.10.10
@ cname www.baidu.com.(记得这里有个“点”)

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板