Nginx怎樣將HTTP重定向到HTTPS
Nginx,發音為“Engine x”,是一個免費、開源、基於 的高效能Web和反向代理伺服器,負責管理和處理網際網路上最大的網站流量的負載。Nginx是一個強大的重定向工具,可以輕鬆配置在您的系統上重定向不安全或未加密的HTTP網路流量到加密和安全的HTTPS網路伺服器。如果你是一個系統管理員或開發人員,那麼你應該經常使用Nginx伺服器。
在這篇文章中,我們將研究如何在Nginx中將Web流量從HTTP重定向到安全的HTTPS。HTTP訊息頭,以明文的字串格式傳送,而HTTPS使用SSL/TLS對客戶機和伺服器系統之間的通訊進行加密。因此,由於許多原因,HTTPS應該替代HTTP:
1.客戶端-伺服器之間雙向的所有資料均已加密。但是,如果被攔截,任何人都無法訪問敏感資訊。
2.當您使用HTTPS時,Google Chrome和其他瀏覽器會認為您的網站域是安全的。
3.HTTPS版本使用HTTP/2協議改善了您指定的網站效能。
4.如果您透過HTTPS為您的網站域提供服務,則該網站將在Google上排名更高,因為它偏愛所有受HTTPS保護的網站。
5.對於每個站點版本,最好在單獨的伺服器塊中將Nginx中的流量HTTP重定向到HTTPS。還建議避免使用“ if”方向重定向流量,這可能會導致伺服器異常行為。
將以下更改新增到Nginx配置檔案中,以便將所有流量從HTTP重定向到HTTPS版本:
server { listen 80 default_server; server_name _; return 301 }
下面,我們詳細說明每個上述術語:
- Listen 80 default_server - 這將指示您的系統捕獲埠80上的所有HTTP通訊
- Server_name _ - 在接到請求後的匹配順序
- Return 301 - 這告訴您的搜尋引擎將其永久重定向。它指定變數$host 儲存域名。
更改配置設定後,需要在系統上重新載入Nginx服務。因此,使用以下 重新載入Nginx服務:
$ sudo systemctl reload nginx
在您的域上安裝SSL證照之後,您將有兩個用於此域名的伺服器塊選項。一個塊用於監聽埠80的HTTP版本,第二個版本用於監聽埠443的HTTPS。然而,要將一個網站域名從HTTP重定向到HTTPS,你需要開啟Nginx配置。您可以在/etc/nginx/sites-available目錄中找到這個配置檔案。如果你沒有找到這個檔案,你可以搜尋它/etc/nginx/nginx./usr/local/nginx/conf或/usr/local/etc/nginx,然後在這個檔案中執行以下更改:
server { listen 80; server_name linuxmi.com return 301 }
讓我們逐行了解上面的程式碼。
- Listen 80 - 使用埠80,伺服器將偵聽指定域名的所有傳入連線。
- Server_name linuxmi.com - 它指定域名。因此,將其替換為您要重定向的網站域名。
- Return 301 - 將流量移至該站點的HTTPS版本。
- $request_uri變數用於完整的原始請求URI,其中也包含引數。
使用以下方法,您可以將流量重定向到HTTPS www版本到站點的非www版本。對於非www和www版本,建議在單獨的伺服器塊中建立重定向。讓我們用一個例子來解釋。如果要將www HTTPS請求重定向到非www版本,則應遵循以下配置:
server { listen 80; server_name linuxmi.com return 301 } server { listen 443 ssl http2; server_name # . . . other code return 301 } server { listen 443 ssl http2; server_name linuxmi.com; # . . . other code }
用您的域名替換域名,例如。
我們已經討論瞭如何將流量從HTTP版本重定向到Nginx伺服器上的HTTPS。透過改變Nginx配置檔案設定,您可以輕鬆地將指定域名或全部重定向到HTTPS。我們在本文中提到的這種方法,可以透過改變使用者體驗,使您的網站更安全。
原文來自:
本文地址:
Linux 大全:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2739868/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- nginx開啟ssl並把http重定向到httpsNginxHTTP
- 使用htaccess Https到http重定向HTTP
- 從http到https你可以這樣做HTTP
- nginx 部署vue http、httpsNginxVueHTTP
- 安裝SSL證書的網站如何實現HTTP重定向到HTTPS網站HTTP
- 從HTTP到HTTPSHTTP
- SpringBoot使用教程【2】支援Https以及Http重定向HttpsSpring BootHTTP
- Nginx的https配置記錄以及http強制跳轉到https的方法梳理NginxHTTP
- Nginx如何配置Http、Https、WS、WSS?NginxHTTP
- 網站域名部署ssl證書後,http怎樣做301跳轉到https網站HTTP
- http怎麼改成httpsHTTP
- 從 HTTP 到 HTTPS 再到 HSTSHTTP
- 從HTTP到HTTPS再到HSTSHTTP
- 怎樣把網站升級到http/2網站HTTP
- 恆訊科技教你:http怎麼直接跳轉到https?HTTP
- nginx 重定向Nginx
- nginx 重定向到系統維護頁面Nginx
- NGINX使用rewrite實現http 跳轉 httpsNginxHTTP
- nginx的https和http共存反向代理配置NginxHTTP
- HTTP 的重定向HTTP
- 在Nginx下部署SSL證書並重定向至HTTPS的教程NginxHTTP
- 將網站應用從 HTTP 協議免費升級到 HTTPS網站HTTP協議
- Nginx配置正向代理支援HTTP和HTTPS轉發NginxHTTP
- nginx: 400 Bad Request | The plain HTTP request was sent to HTTPS portNginxAIHTTP
- nginx做正向代理(Centos7,支援http和https)NginxCentOSHTTP
- Nginx配置域名同時支援 https 和 http 訪問NginxHTTP
- gitlab-ce將https修改為httpGitlabHTTP
- CentOS雲主機中Nginx反向代理http、https服務CentOSNginxHTTP
- 如何設定HTTP自動跳轉到HTTPSHTTP
- 從http到https,你也許需要這樣做|第一部分HTTP
- http,https, http2.0HTTP
- 怎樣將Xilinx的xfOpenCV庫移植到ZedBoard平臺OpenCVZed
- 請教怎樣將ofbiz匯入到eclipse下Eclipse
- HTTP協議是什麼?HTTP怎樣工作?-VeCloudHTTP協議Cloud
- 本地測試Http升級到Https(證書信任)HTTP
- HTTP 和 HTTPSHTTP
- HTTPS和HTTPHTTP
- HTTP和HTTPSHTTP