最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nginx 如何配置強制 HTTP 跳轉(zhuǎn) HTTPS 并保留原始請求參數(shù)

 更新時間:2026年05月22日 09:06:16   作者:drstx  
這篇文章給大家介紹了Nginx 如何配置強制 HTTP 跳轉(zhuǎn) HTTPS 并保留原始請求參數(shù),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧

最推薦的做法是在監(jiān)聽 80 端口的 server 塊中使用 return 301 指令,配合 $request_uri 變量,這樣既能實現(xiàn)永久跳轉(zhuǎn),又能原生保留路徑和查詢參數(shù)。

先說結(jié)論:這是 Nginx 官方推薦的標(biāo)準(zhǔn)寫法,配置簡單且對搜索引擎友好,適合絕大多數(shù)已部署 SSL 證書的生產(chǎn)環(huán)境。

  • 適合:已擁有有效 HTTPS 證書,希望統(tǒng)一流量入口的站點
  • 先準(zhǔn)備:確認(rèn) 443 端口服務(wù)正常,備份現(xiàn)有配置文件
  • 驗收:檢查跳轉(zhuǎn)狀態(tài)碼是否為 301,確認(rèn) URL 參數(shù)未丟失

命令速用版

如果你已經(jīng)有一個可用的 HTTPS server 塊,只需在配置文件中增加或修改監(jiān)聽 80 端口的 server 塊,核心配置如下:

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

這段配置會攔截所有 HTTP 請求,并原樣跳轉(zhuǎn)到對應(yīng)的 HTTPS 地址。

為什么會這樣

HTTP 是明文傳輸,存在數(shù)據(jù)被竊聽或篡改的風(fēng)險,強制跳轉(zhuǎn) HTTPS 是為了保障通信安全。使用 301 狀態(tài)碼是因為它代表“永久移動”,瀏覽器和搜索引擎會記住這個規(guī)則,后續(xù)請求會自動嘗試 HTTPS,有利于 SEO 權(quán)重傳遞。

關(guān)于參數(shù)保留,Nginx 的 $request_uri 變量包含了客戶端請求的完整 URI,包括路徑和問號后面的查詢參數(shù)(args)。相比之下,如果只用 $uri 可能會丟失參數(shù),需要額外拼接 $args,而 $request_uri 是開箱即用的完整地址。

分步處理

1. 備份配置:在修改前務(wù)必備份當(dāng)前配置文件,防止語法錯誤導(dǎo)致服務(wù)不可用。

cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak

2. 編輯配置:打開 Nginx 配置文件(通常在 /etc/nginx/conf.d/ 或 /etc/nginx/sites-enabled/),添加或修改監(jiān)聽 80 的 server 塊。確保 server_name 與你的 HTTPS 配置一致。

3. 語法檢查:修改完成后,先運行測試命令,確保沒有拼寫錯誤。

nginx -t

如果顯示 successful,再進行下一步;如果報錯,根據(jù)提示行號檢查拼寫。

4. 平滑重載:確認(rèn)無誤后,重載配置使改動生效,不會中斷現(xiàn)有連接。

nginx -s reload

怎么驗證是否生效

1. 命令行檢查:使用 curl 命令查看響應(yīng)頭,確認(rèn)狀態(tài)碼是 301 且 Location 指向 https。

curl -I http://example.com/?test=1

觀察返回頭中的 HTTP/1.1 301 Moved Permanently 和 Location: https://example.com/?test=1。

2. 瀏覽器驗證:在地址欄輸入 http 開頭的帶參數(shù)網(wǎng)址,觀察地址欄是否自動變?yōu)?https,且參數(shù)部分保持不變。

3. 日志確認(rèn):查看 Nginx 訪問日志,確認(rèn) 80 端口的請求狀態(tài)碼記錄為 301。

常見坑

1. 跳轉(zhuǎn)死循環(huán):如果 HTTPS 的 server 塊配置錯誤,也可能把請求又轉(zhuǎn)回 HTTP,導(dǎo)致瀏覽器報錯“重定向次數(shù)過多”。確保 443 端口配置中不再有 return 301 http 的邏輯。

2. $host 變量獲取異常:如果客戶端請求直接使用的是 IP 地址,$host 可能是 IP。如果證書只綁定域名,HTTPS 握手可能會失敗。建議 server_name 明確指定域名。

3. HSTS 影響:如果開啟了 HSTS(HTTP Strict Transport Security),瀏覽器會強制記住 HTTPS 策略。在調(diào)試期間如果配置錯誤,可能需要清除瀏覽器緩存才能恢復(fù) HTTP 訪問。

4. 反向代理場景:如果 Nginx 前面還有負(fù)載均衡器或 CDN,需要在跳轉(zhuǎn)邏輯中考慮 X-Forwarded-Proto 頭,避免在內(nèi)部網(wǎng)絡(luò)重復(fù)跳轉(zhuǎn)。

參考來源

  • Nginx 官方文檔 - ngx_http_rewrite_module 模塊 return 指令說明
  • Nginx 官方文檔 - ngx_http_core_module 模塊 內(nèi)置變量說明

到此這篇關(guān)于Nginx 如何配置強制 HTTP 跳轉(zhuǎn) HTTPS 并保留原始請求參數(shù)的文章就介紹到這了,更多相關(guān)Nginx 強制 HTTP 跳轉(zhuǎn) HTTPS 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Nginx優(yōu)化和模塊解讀

    Nginx優(yōu)化和模塊解讀

    本文介紹了Nginx的優(yōu)化配置與模塊應(yīng)用,涵蓋安裝、虛擬主機設(shè)置、location匹配、隱藏版本號、進程調(diào)整、文件限制等操作,并通過實驗驗證了gzip壓縮、緩存優(yōu)化、防盜鏈及HTTPS重定向等安全與性能改進措施
    2025-07-07
  • Nginx代理Partainer的具體使用

    Nginx代理Partainer的具體使用

    本文主要介紹了Nginx代理Partainer的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Linux 系統(tǒng) nginx 服務(wù)器安裝及負(fù)載均衡配置詳解

    Linux 系統(tǒng) nginx 服務(wù)器安裝及負(fù)載均衡配置詳解

    nginx(engine x) 是一個 高性能 的 HTTP 和 反向代理 服務(wù)器、郵件代理服務(wù)器以及通用的 TCP/UDP 代理服務(wù)器。這篇文章主要介紹了Linux 系統(tǒng) nginx 服務(wù)器安裝及負(fù)載均衡配置詳解,需要的朋友可以參考下
    2019-07-07
  • 解讀nginx負(fù)載均衡的5種策略

    解讀nginx負(fù)載均衡的5種策略

    這篇文章主要介紹了解讀nginx負(fù)載均衡的5種策略,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • nginx使用stream模塊代理端口的實現(xiàn)

    nginx使用stream模塊代理端口的實現(xiàn)

    本文主要介紹了nginx使用stream模塊代理端口,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • Ubuntu系統(tǒng)下安裝Nginx實踐

    Ubuntu系統(tǒng)下安裝Nginx實踐

    文章介紹了Nginx的概述以及在Ubuntu系統(tǒng)下安裝Nginx的詳細(xì)步驟,包括下載安裝包、解壓縮、依賴配置、編譯安裝、設(shè)置隨機自啟動等過程
    2026-02-02
  • nginx解決跨域問題的實例方法

    nginx解決跨域問題的實例方法

    在本篇文章里小編給各位分享了關(guān)于nginx怎么解決跨域問題的方法和實例代碼,需要的朋友們參考下。
    2019-07-07
  • nginx expires控制頁面緩存

    nginx expires控制頁面緩存

    expires 指令可以控制 HTTP 應(yīng)答中的“Expires ”和“ Cache-Control ”的頭標(biāo)(起到控制頁面緩存的作用)
    2013-01-01
  • Nginx安裝配置naxsi waf防火墻的方法實現(xiàn)

    Nginx安裝配置naxsi waf防火墻的方法實現(xiàn)

    Naxsi是第三方nginx模塊,它也能有效防御,本文主要介紹了Nginx安裝配置naxsi waf防火墻的方法實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • Nginx 平滑升級的實現(xiàn)(拒絕服務(wù)漏洞)

    Nginx 平滑升級的實現(xiàn)(拒絕服務(wù)漏洞)

    本文主要介紹了Nginx 平滑升級的實現(xiàn)(拒絕服務(wù)漏洞),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02

最新評論

乾安县| 桐庐县| 林芝县| 滨海县| 金平| 中山市| 廊坊市| 苏州市| 大英县| 峨山| 饶河县| 西贡区| 昂仁县| 泸水县| 凤山市| 凯里市| 巴马| 康定县| 罗江县| 长岛县| 七台河市| 开封县| 屯留县| 尼木县| 长垣县| 中宁县| 桦川县| 平昌县| 沂源县| 观塘区| 盐津县| 奉化市| 固阳县| 靖安县| 灌阳县| 延长县| 临洮县| 洪雅县| 探索| 漾濞| 龙山县|