首頁 後端開發 php教程 Nginx取得自訂頭部header的值

Nginx取得自訂頭部header的值

Jul 28, 2016 am 08:26 AM
custom header http nginx proxy

Nginx讀取自訂header

在參考了資料:
http://stackoverflow.com/questions/8393772/how-to-get-non-standard-http-headers-on -nginx
http://nginx.org/en/docs/http/ngx_http_core_module.html#underscores_in_headers
http://serverfault.com/questions/297225/nginx-passing-back-custom-header
https://easyengine.io/tutorials/nginx/forwarding-visitors-real-ip/
http://www.ttlsa.com/nginx/nginx-proxy_set_header/
後面得到如下:
1.nginx是支援讀取非nginx標準的使用者自訂header的,但需要在http或server下開啟header的下劃線支援:

  • underscores_in_headers on;

2、例如我們自訂header為X-Real-IP,透過第二個nginx取得該header時需要這樣:

  • $http_x_real_ip; (一律採用小寫,而且前面多了個http_)

3、如果需要把自訂header傳遞到下一個nginx:

  • 如果是在nginx中自訂採用proxy_set_header X_CUSTOM_HEADER $http_host;

  • 如果是在使用者要求時自訂的header,例如curl –head -H “X_CUSTOM_HEADER: foo” .com/api/test,則需要透過proxy_pass_header X_CUSTOM_HEADER來傳遞

範例:

<span>http</span><span>{</span><span>
    upstream myServer </span><span>{</span><span>        server </span><span>127.0</span><span>.</span><span>0.1</span><span>:</span><span>8082</span><span>;</span><span>}</span><span>
    underscores_in_headers on</span><span>;</span><span>
    server </span><span>{</span><span>
        listen       </span><span>80</span><span>;</span><span>
        server_name  localhost</span><span>;</span><span>        location  </span><span>/</span><span>{</span><span>
  	    proxy_set_header </span><span>Some</span><span>-</span><span>Thing</span><span> $http_x_custom_header</span><span>;;</span><span>
  	    proxy_set_header X</span><span>-</span><span>Forwarded</span><span>-</span><span>For</span><span> $proxy_add_x_forwarded_for</span><span>;</span><span>
  	    proxy_pass http</span><span>://</span><span>myServer</span><span>;</span><span>}</span><span>}</span><span>}</span>
登入後複製

以上就介紹了 Nginx獲取自訂頭部header的值,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

WordPress站點文件訪問受限:為什麼我的.txt文件無法通過域名訪問? WordPress站點文件訪問受限:為什麼我的.txt文件無法通過域名訪問? Apr 01, 2025 pm 03:00 PM

Wordpress站點文件訪問受限:排查.txt文件無法訪問的原因最近有用戶在配置小程序業務域名時,遇到一個問題:�...

如何使用 Golang 實作 HTTP 檔案上傳安全性? 如何使用 Golang 實作 HTTP 檔案上傳安全性? Jun 01, 2024 pm 02:45 PM

在Golang中實作HTTP檔案上傳安全性需要遵循以下步驟:驗證檔案類型。限製檔案大小。檢測病毒和惡意軟體。儲存檔案安全。

如何在同一台服務器上通過Nginx配置讓PHP5.6和PHP7共存? 如何在同一台服務器上通過Nginx配置讓PHP5.6和PHP7共存? Apr 01, 2025 pm 03:15 PM

在同一系統中同時運行多個PHP版本是一個常見的需求,特別是當不同項目依賴於不同版本的PHP時。如何在同一台...

h5項目怎麼運行 h5項目怎麼運行 Apr 06, 2025 pm 12:21 PM

運行 H5 項目需要以下步驟:安裝 Web 服務器、Node.js、開發工具等必要工具。搭建開發環境,創建項目文件夾、初始化項目、編寫代碼。啟動開發服務器,使用命令行運行命令。在瀏覽器中預覽項目,輸入開發服務器 URL。發布項目,優化代碼、部署項目、設置 Web 服務器配置。

如何在LAMP架構下高效整合Node.js或Python服務? 如何在LAMP架構下高效整合Node.js或Python服務? Apr 01, 2025 pm 02:48 PM

在LAMP架構下整合Node.js或Python服務許多網站開發者都面臨這樣的問題:已有的LAMP(Linux Apache MySQL PHP)架構網站需要...

如何在 Golang 中處理 HTTP 錯誤? 如何在 Golang 中處理 HTTP 錯誤? Jun 03, 2024 am 10:15 AM

在Golang中處理HTTP錯誤至關重要,以便優雅地回應客戶端請求中的各種錯誤情況。有以下幾種方法可以處理錯誤:使用內建錯誤類型(例如:ErrBadRequest)表示常見的HTTP錯誤。建立自訂錯誤類型來處理自訂錯誤情況。使用httputil.NewError函數根據狀態碼和訊息建立新的錯誤。

Gitee Pages靜態網站部署失敗:單個文件404錯誤如何排查和解決? Gitee Pages靜態網站部署失敗:單個文件404錯誤如何排查和解決? Apr 04, 2025 pm 11:54 PM

GiteePages靜態網站部署失敗:404錯誤排查與解決在使用Gitee...

如何在PC端和移動端共享同一個頁面並處理緩存問題? 如何在PC端和移動端共享同一個頁面並處理緩存問題? Apr 01, 2025 pm 01:57 PM

如何在PC端和移動端共享同一個頁面並處理緩存問題?在使用寶塔後台搭建的nginx php mysql環境下,如何讓PC端和�...

See all articles