溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Nginx如何將HTTP重定向到HTTPS

發(fā)布時間:2022-01-21 13:57:02 來源:億速云 閱讀:239 作者:柒染 欄目:開發(fā)技術

這篇文章的內(nèi)容主要圍繞Nginx如何將HTTP重定向到HTTPS進行講述,文章內(nèi)容清晰易懂,條理清晰,非常適合新手學習,值得大家去閱讀。感興趣的朋友可以跟隨小編一起閱讀吧。希望大家通過這篇文章有所收獲!

Nginx是一個強大的重定向工具,可以輕松配置在您的系統(tǒng)上重定向不安全或未加密的HTTP網(wǎng)絡流量到加密和安全的HTTPS網(wǎng)絡服務器。

Nginx,發(fā)音為“Engine x”,是一個免費、開源、基于Linux的高性能Web和反向代理服務器,負責管理和處理互聯(lián)網(wǎng)上最大的網(wǎng)站流量的負載。Nginx是一個強大的重定向工具,可以輕松配置在您的系統(tǒng)上重定向不安全或未加密的HTTP網(wǎng)絡流量到加密和安全的HTTPS網(wǎng)絡服務器。如果你是一個系統(tǒng)管理員或開發(fā)人員,那么你應該經(jīng)常使用Nginx服務器。

在這篇文章中,我們將研究如何在Nginx中將Web流量從HTTP重定向到安全的HTTPS。HTTP消息頭,以明文的字符串格式傳送,而HTTPS使用SSL/TLS對客戶機和服務器系統(tǒng)之間的通信進行加密。因此,由于許多原因,HTTPS應該替代HTTP:

1.客戶端-服務器之間雙向的所有數(shù)據(jù)均已加密。但是,如果被攔截,任何人都無法訪問敏感信息。

2.當您使用HTTPS時,Google Chrome和其他瀏覽器會認為您的網(wǎng)站域是安全的。

3.HTTPS版本使用HTTP/2協(xié)議改善了您指定的網(wǎng)站性能。

4.如果您通過HTTPS為您的網(wǎng)站域提供服務,則該網(wǎng)站將在Google上排名更高,因為它偏愛所有受HTTPS保護的網(wǎng)站。

5.對于每個站點版本,最好在單獨的服務器塊中將Nginx中的流量HTTP重定向到HTTPS。還建議避免使用“ if”方向重定向流量,這可能會導致服務器異常行為。

將所有流量從HTTP重定向到HTTPS

將以下更改添加到Nginx配置文件中,以便將所有流量從HTTP重定向到HTTPS版本:

server { 
    listen 80 default_server; 
    server_name _; 
    return 301 https://$host$request_uri; 
}

下面,我們詳細說明每個上述術語:

  1. Listen 80 default_server – 這將指示您的系統(tǒng)捕獲端口80上的所有HTTP通信


  2. Server_name _ – 在接到請求后的匹配順序


  3. Return 301 https://$host$request_uri – 這告訴您的搜索引擎將其永久重定向。它指定變量$host 保存域名。

更改配置設置后,需要在系統(tǒng)上重新加載Nginx服務。因此,使用以下命令重新加載Nginx服務:

$ sudo systemctl reload nginx

在Nginx中將指定域名的HTTP重定向到HTTPS

在您的域上安裝SSL證書之后,您將有兩個用于此域名的服務器塊選項。一個塊用于監(jiān)聽端口80的HTTP版本,第二個版本用于監(jiān)聽端口443的HTTPS。然而,要將一個網(wǎng)站域名從HTTP重定向到HTTPS,你需要打開Nginx配置。您可以在/etc/nginx/sites-available目錄中找到這個配置文件。如果你沒有找到這個文件,你可以搜索它/etc/nginx/nginx./usr/local/nginx/conf或/usr/local/etc/nginx,然后在這個文件中執(zhí)行以下更改:

server { 
    listen 80; 
    server_name linuxmi.com www.linuxmi.com; 
    return 301 https://linuxmi.com$request_uri; 
}

讓我們逐行了解上面的代碼。

  1. Listen 80 – 使用端口80,服務器將偵聽指定域名的所有傳入連接。


  2. Server_name linuxmi.com www.linuxmi.com – 它指定域名。因此,將其替換為您要重定向的網(wǎng)站域名。


  3. Return 301 https://linuxmi.com$request_uri – 將流量移至該站點的HTTPS版本。


  4. $request_uri變量用于完整的原始請求URI,其中也包含參數(shù)。

使用以下方法,您可以將流量重定向到HTTPS www版本到站點的非www版本。對于非www和www版本,建議在單獨的服務器塊中創(chuàng)建重定向。讓我們用一個例子來解釋。如果要將www HTTPS請求重定向到非www版本,則應遵循以下配置:

server { 
    listen 80; 
    server_name linuxmi.com www.linuxmi.com; 
    return 301 https://linuxmi.com$request_uri; 
} 
server { 
    listen 443 ssl http2; 
    server_name www.linuxmi.com; 
    # . . . other code 
    return 301 https://linuxmi.com$request_uri; 
} 
server { 
    listen 443 ssl http2; 
    server_name linuxmi.com; 
 
    # . . . other code 
}

用您的域名替換域名,例如www.linuxmi.com。

通過改變Nginx配置文件設置,您可以輕松地將指定域名或全部重定向到HTTPS。我們在文中提到的這種方法,可以通過改變用戶體驗,使您的網(wǎng)站更安全。

感謝你的閱讀,相信你對“Nginx如何將HTTP重定向到HTTPS”這一問題有一定的了解,快去動手實踐吧,如果想了解更多相關知識點,可以關注億速云網(wǎng)站!小編會繼續(xù)為大家?guī)砀玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI