linux - Nginx中http與https一級網域二級網域重新導向的問題
PHPz
PHPz 2017-05-16 13:19:44
0
3
1011

~~請教各位前輩一個問題:
今天將網站開啟了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.(記得這裡有個「點」)

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板