1. 程式人生 > >nginx做http向https的自動跳轉

nginx做http向https的自動跳轉

在訪問百度時,在瀏覽器輸入www.baidu.com會自動跳轉到https://www.baidu.com不用人工干預,nginx也可以做這樣的自動跳轉!

首先讓nginx伺服器監聽兩個埠,分別是80埠和443埠,注意監聽443埠的時候需要配置證書的認證以及建立自簽名證書!

關於證書的認證的以及建立自簽名的證書,不再敘述(可以檢視https://www.cnblogs.com/wxzhe/p/10125513.html瞭解證書的建立問題),這裡只說明nginx的配置問題!

nginx的配置如下,只給出了兩個server的配置,可以直接複製到http塊中。

    server {                                #第一個server塊,用於監聽80埠               
        listen       
80; server_name localhost; location /{ root html; index index.html index.htm; rewrite ^(.*)$ https://$host$1 permanent; #先把這一行註釋掉,分別用80埠和443埠訪問本機,若是都可以正常訪問,新增上這一行即可! } }
    server { #第二個server塊,用於監聽443埠 listen
443 ssl; server_name localhost; ssl_certificate cert/server.pem; #證書的位置是相對於當前配置檔案所在的位置的! ssl_certificate_key cert/server.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location
/ { root html; index index.html index.htm; } }

這時候在瀏覽器通過http訪問時候,就會自動跳轉到https訪問!