linux - Nginx中http与https一级域名二级域名重定向的问题

查看:126
本文介绍了linux - Nginx中http与https一级域名二级域名重定向的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

~~请教各位前辈一个问题:
今天将站点开启了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...

解决方案

连接失败,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;

    }
    

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

这篇关于linux - Nginx中http与https一级域名二级域名重定向的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆