国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

nginx proxy_set_header設(shè)置、自定義header

這篇具有很好參考價(jià)值的文章主要介紹了nginx proxy_set_header設(shè)置、自定義header。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

1、背景

XXX

2、語(yǔ)法

語(yǔ)法 proxy_set_header field value;
默認(rèn)值 proxy_set_header Host $proxy_host;
proxy_set_header Connection close;
上下文 http, server, location

允許重新定義或者添加發(fā)往后端服務(wù)器的請(qǐng)求頭。value可以包含文本、變量或者它們的組合。 當(dāng)且僅當(dāng)當(dāng)前配置級(jí)別中沒(méi)有定義proxy_set_header指令時(shí),會(huì)從上面的級(jí)別繼承配置。 默認(rèn)情況下,只有兩個(gè)請(qǐng)求頭會(huì)被重新定義:

proxy_set_header Host       $proxy_host;
proxy_set_header Connection close;

2.1? nginx是支持讀取非nginx標(biāo)準(zhǔn)的用戶(hù)自定義header的,但是需要在http或者server下開(kāi)啟header的下劃線(xiàn)支持:

underscores_in_headers on;

2.2 舉例

比如我們自定義header為X-Real-IP,通過(guò)第二個(gè)nginx獲取該header時(shí)需要這樣:

$http_x_real_ip; (一律采用小寫(xiě),而且前面多了個(gè)http_)

2.3? 如果需要把自定義header傳遞到下一個(gè)nginx:

如果是在nginx中自定義采用proxy_set_header X_CUSTOM_HEADER $http_host;

如果是在用戶(hù)請(qǐng)求時(shí)自定義的header,
例如curl –head -H “X_CUSTOM_HEADER: foo” http://domain.com/api/test
則需要通過(guò)proxy_pass_header X_CUSTOM_HEADER來(lái)傳遞

2.4? 語(yǔ)法

underscores_in_headers on|off
默認(rèn)值:off
使用字段:http, server
是否允許在header的字段中帶下劃線(xiàn)

3、內(nèi)置變量

核心模塊支持內(nèi)置變量,其名稱(chēng)與Apache中的變量名稱(chēng)相對(duì)應(yīng)。

常用變量如下表格

名稱(chēng) 說(shuō)明 demo值
$remote_addr 客戶(hù)端的ip地址
$http_x_forwarded_for 相當(dāng)于網(wǎng)絡(luò)訪(fǎng)問(wèn)路徑 待驗(yàn)證
$remote_user 客戶(hù)端用戶(hù)名稱(chēng),認(rèn)證用
$remote_port 客戶(hù)端端口號(hào) 看似隨機(jī)
$time_local 用來(lái)記錄訪(fǎng)問(wèn)時(shí)間與時(shí)區(qū)
$request 用來(lái)記錄請(qǐng)求的url與http協(xié)議
$status 用來(lái)記錄請(qǐng)求狀態(tài);成功是200
$body_bytes_sent 記錄發(fā)送給客戶(hù)端文件主體內(nèi)容大小
$http_referer 用來(lái)記錄從那個(gè)頁(yè)面鏈接訪(fǎng)問(wèn)過(guò)來(lái)的
$http_user_agent 記錄客戶(hù)端瀏覽器的相關(guān)信息
$host

請(qǐng)求信息中的"Host",如果請(qǐng)求中沒(méi)有Host行,則等于設(shè)置的服務(wù)器名?? ?ngxin.arg.test

$hostname 機(jī)器名使用 gethostname系統(tǒng)調(diào)用的值
$server_addr

服務(wù)器地址,如果沒(méi)有用listen指明服務(wù)器地址,

使用這個(gè)變量將發(fā)起一次系統(tǒng)調(diào)用以取得地址

(造成資源浪費(fèi))

127.0.0.1

nginx 所在服務(wù)器IP地址

$server_name 請(qǐng)求到達(dá)的服務(wù)器名 監(jiān)聽(tīng) server? 下的server_name : localhost
$server_port 請(qǐng)求到達(dá)的服務(wù)器端口號(hào) 監(jiān)聽(tīng) server 下的 listen 端口 : 80
$server_protocol 請(qǐng)求的協(xié)議版本,“HTTP/1.0"或"HTTP/1.1”

“HTTP/1.0"或

"HTTP/1.1”

$scheme 所用的協(xié)議,比如http或者是https http
$request_body

這個(gè)變量(0.7.58+)包含請(qǐng)求的主要信息。

在使用proxy_pass或fastcgi_pass指令的location中比較有意義?? ?

$request_body_file 客戶(hù)端請(qǐng)求主體信息的臨時(shí)文件名
$request_completion

如果請(qǐng)求成功,設(shè)為"OK";

如果請(qǐng)求未完成或者不是一系列請(qǐng)求中最后一部分則設(shè)為空

$request_filename

當(dāng)前請(qǐng)求的文件路徑名,

比如/opt/nginx/www/test.php

$request_method 請(qǐng)求的方法,比如"GET"、"POST"等 GET
$request_uri 請(qǐng)求的URI,帶參數(shù)

請(qǐng)求的URI,

帶參數(shù)?? ?/a/b/c/?d=test&e=123

&username=

%E7%94%A8%E6%88%B7

$uri 請(qǐng)求的URI,可能和最初的值有不同,比如經(jīng)過(guò)重定向之類(lèi)的 /a/b/c/
$http_cookie cookie 信息
$content_type 請(qǐng)求信息里的"Content-Type"
$content_length HTTP請(qǐng)求信息里的"Content-Length"
$arg_* *可具體為請(qǐng)求中的某個(gè)參數(shù) $arg_d=test
$args 請(qǐng)求中的參數(shù)

d=test&e=123&u

sername=%E7%94%

A8%E6%88%B7

$binary_remote_addr 遠(yuǎn)程地址的二進(jìn)制表示
$document_root 針對(duì)當(dāng)前請(qǐng)求的根路徑設(shè)置值
$document_uri 與$uri相同 /a/b/c/
$http_via 最后一個(gè)訪(fǎng)問(wèn)服務(wù)器的Ip地址
$is_args 如果請(qǐng)求行帶有參數(shù),返回“?”,否則返回空字符串
$limit_rate 對(duì)連接速率的限制
$nginx_version 當(dāng)前運(yùn)行的nginx版本號(hào)
$pid worker進(jìn)程的PID
$query_string 與$args相同
$realpath_root 按root指令或alias指令算出的當(dāng)前請(qǐng)求的絕對(duì)路徑。其中的符號(hào)鏈接都會(huì)解析成真實(shí)文件路徑

3、工作原理

XXXX

4、總結(jié)

? ? ? ?proxy_set_header 就是可設(shè)置請(qǐng)求頭-并將頭信息傳遞到服務(wù)器端。不屬于請(qǐng)求頭的參數(shù)中也需要傳遞時(shí) 重定義下就行啦。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-776538.html

到了這里,關(guān)于nginx proxy_set_header設(shè)置、自定義header的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀(guān)點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Nginx】proxy_set_header的變量與X-Forwarded-For偽造客戶(hù)端IP漏洞

    【Nginx】proxy_set_header的變量與X-Forwarded-For偽造客戶(hù)端IP漏洞

    上面突然說(shuō),需要檢查Nginx反向代理的安全問(wèn)題并給出了修改方法,小白的我一臉懵逼,明明都是中文,連在一起咋就看不明白了。于是乎,對(duì)著修改內(nèi)容簡(jiǎn)單學(xué)習(xí)了一下,在此做個(gè)記錄,如有問(wèn)題請(qǐng)大佬們指點(diǎn)指點(diǎn)。 在Nginx中的location里,我們通常會(huì)配置proxy_set_header,如下

    2024年02月19日
    瀏覽(20)
  • Nginx 獲取自定義請(qǐng)求header頭和URL參數(shù)

    在 ngx_lua 中訪(fǎng)問(wèn) Nginx 內(nèi)置變量 ngx.var.http_HEADER 即可獲得請(qǐng)求頭HEADER的內(nèi)容。 在 nginx配置中,通過(guò)$http_HEADER 即可獲得請(qǐng)求頭HEADER的內(nèi)容。 案例: 在nginx的location配置中,在獲取header配置時(shí), 須要在header名稱(chēng)前面加上固定前綴“http_“,并將header名稱(chēng)中的“-”中劃線(xiàn)變?yōu)橄聞澗€(xiàn)

    2024年02月04日
    瀏覽(22)
  • Nginx的proxy buffer參數(shù)設(shè)置

    1. proxy_buffering 作用:該指令開(kāi)啟從后端被代理服務(wù)器的響應(yīng)body緩沖。 ? ? 如果proxy_buffering開(kāi)啟,nginx假定被代理的后端服務(wù)器會(huì)以最快速度響應(yīng),并把內(nèi)容保存在由指令 proxy_buffer_size 和 proxy_buffers 指定的緩沖區(qū)里邊. ? ? 如果響應(yīng)body無(wú)法放在內(nèi)存里邊,那么部分內(nèi)容會(huì)被寫(xiě)到磁

    2024年02月08日
    瀏覽(23)
  • Nginx:設(shè)置響應(yīng)header的content-type

    Nginx通常根據(jù)/etc/nginx/mime.types文件中類(lèi)型設(shè)置content-type 有時(shí)需要根據(jù)實(shí)際需要指定content-type,比如對(duì)于下載,如果按照mime.types里面的定義: image/jpeg ? ? ? ? ? ? ? ? ? ? ? ? ? ?jpeg jpg; 那么當(dāng)下載圖片時(shí),瀏覽器會(huì)在窗口內(nèi)直接顯示圖片,而不是另存為文件 。 通過(guò)設(shè)置

    2024年02月12日
    瀏覽(29)
  • websocket創(chuàng)建時(shí)附加額外信息 [如自定義headers信息(利用nginx)]

    websocket創(chuàng)建時(shí)附加額外信息 [如自定義headers信息(利用nginx)]

    目錄 情景描述: 解決方案 一、服務(wù)端要求前端創(chuàng)建websocket時(shí)附帶的token,必須放在request的headers中(常出現(xiàn)在第三方的合作中); ?思路: ?整體效果: ?具體步驟: 二、服務(wù)端只需要獲取到token,不介意前端在創(chuàng)建時(shí)怎么傳的 思路: 整體效果: 具體實(shí)現(xiàn): 前端創(chuàng)建webs

    2023年04月08日
    瀏覽(20)
  • Nginx使用proxy_cache指令設(shè)置反向代理緩存靜態(tài)資源

    Nginx使用proxy_cache指令設(shè)置反向代理緩存靜態(tài)資源

    CentOS7中解壓tar包的方式安裝Nginx: CentOS7中解壓tar包的方式安裝Nginx_centos7 tar文件 怎么load_霸道流氓氣質(zhì)的博客-CSDN博客 參考上面流程實(shí)現(xiàn)搭建Nginx的基礎(chǔ)上,實(shí)現(xiàn)靜態(tài)資源的緩存設(shè)置。 注意上面安裝時(shí)的目錄是在/opt/nginx目錄下,這里是在/usr/local/nginx目錄下。 nginx作為一款高

    2024年02月14日
    瀏覽(22)
  • nginx設(shè)置add_header失效 配置cors跨域失效無(wú)效的解決方案

    nginx設(shè)置add_header失效 配置cors跨域失效無(wú)效的解決方案

    希望對(duì)大家有幫助,有用的話(huà)記得點(diǎn)個(gè)贊評(píng)個(gè)論,讓俺知道這個(gè)法子可以幫助到大家喲!(雖然我這個(gè)法子很野) 最近在完成一個(gè)項(xiàng)目,后端API地址和前端地址不一致,這就涉及到了跨域的問(wèn)題。 由于服務(wù)端加了一層Nginx作為反代,所以很自然的想到要去 .conf 配置文件中 加

    2024年02月12日
    瀏覽(26)
  • nginx.conf報(bào)錯(cuò):“set“ directive is not allowed here in xxx(http塊下不能用set定義變量)

    nginx.conf報(bào)錯(cuò):“set“ directive is not allowed here in xxx(http塊下不能用set定義變量)

    在nginx.conf的http塊中定義變量: 在server塊中使用變量替換IP地址: 然后nginx容器啟動(dòng)的時(shí)候就報(bào)錯(cuò)了: 原因:我不該把這句直接加到http塊下, 要這樣加到http塊下的server塊下的location里: 這樣就沒(méi)問(wèn)題 但是我又另外報(bào)了一個(gè)錯(cuò)誤: using uninitialized \\\"server_ip_addr\\\" variable 我另外記

    2024年02月13日
    瀏覽(50)
  • http.header.Set()與Add()區(qū)別;

    在Go語(yǔ)言中進(jìn)行HTTP請(qǐng)求時(shí), http.Header 對(duì)象表示HTTP請(qǐng)求或響應(yīng)的頭部信息。 http.Header 是一個(gè) map[string][]string 類(lèi)型的結(jié)構(gòu),用于存儲(chǔ)鍵值對(duì),其中鍵表示HTTP頭字段的名稱(chēng),值是一個(gè)字符串切片,可以存儲(chǔ)多個(gè)相同名稱(chēng)的頭字段值。 http.Header 提供了兩個(gè)主要的方法來(lái)設(shè)置頭部字

    2024年02月07日
    瀏覽(17)
  • Refused to set unsafe header “cookie“

    記 web端微信登陸之后,保存登錄狀態(tài)的問(wèn)題: 發(fā)送給后臺(tái)的后續(xù)請(qǐng)求在head添加 但是報(bào)錯(cuò) Refused to set unsafe header “cookie” 原因是w3c中不允許手動(dòng)設(shè)置cookie 解決方法: 1.把Cookie改成Authorization,讓后端從Authorization中拿到相關(guān)登錄信息; 2.前端來(lái)做登錄,每次發(fā)送openid給后臺(tái),

    2024年02月06日
    瀏覽(15)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包