搜尋

首頁  >  問答  >  主體

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...

PHPzPHPz2749 天前993

全部回覆(3)我來回復

  • 淡淡烟草味

    淡淡烟草味2017-05-16 13:21:44

    連線失敗,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;
    
        }
        

    在我這沒問題,這樣子,都能實現跳轉。

    回覆
    0
  • 仅有的幸福

    仅有的幸福2017-05-16 13:21:44

    連線已重置。 並無狀態碼。

    回覆
    0
  • 天蓬老师

    天蓬老师2017-05-16 13:21:44

    關於domain.com跳轉www.domain.com的問題你可以在網域解析的時候直接進行設定

    www A記錄 10.10.10.10
    @ cname www.baidu.com.(記得這裡有個「點」)

    回覆
    0
  • 取消回覆