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

一次說清Nginx反向代理及參數(shù)配置

 更新時間:2023年05月30日 11:13:48   作者:搶老婆酸奶的小肥仔  
我們在配置服務(wù)時常常會用到Nginx來設(shè)置反向代理,雖然常用,但是我們真的了解各個參數(shù)的意思嗎,本文就給大家一次說清Nginx反向代理及參數(shù)配置,需要的朋友可以參考下

1、反向代理

反向代理(reverse proxy)方式是指用代理服務(wù)器來接受Internet上的連接請求,然后將請求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)中的上游服務(wù)器,并將從上游服務(wù)器上得到的結(jié)果返回給Internet上請求連接的客戶端,此時代理服務(wù)器對外表現(xiàn)局勢一個web服務(wù)器。

2、Nginx反向代理

Nginx的反向代理,當用戶發(fā)送一個HTTP請求時,Nginx不會立刻轉(zhuǎn)發(fā)到上游服務(wù)器,而是先把用戶的請求(包括HTTP包體)完整地接收到Nginx所在的服務(wù)器的磁盤或內(nèi)存中,然后再向上游服務(wù)器發(fā)起連接,把緩存的客戶端請求轉(zhuǎn)發(fā)到上游服務(wù)器。

優(yōu)點:降低上游服務(wù)器的負載,盡量把壓力放在Nginx服務(wù)器上

缺點:延長了一個請求的處理時間,并增加了用于緩存請求內(nèi)容的內(nèi)存和磁盤空間。

3、負載均衡的基本配置

3.1 upstream

語法:upstream name{......};

配置塊:http

upstream塊定義了一個上游服務(wù)器的集群,便于反向代理中的proxy_pass使用。

upstream backend {
	server backend1.example.com;
	server backend2.example.com;
	server backend3.example.com;
}
server {
	location / {
			proxy_pass http://backend;
	}
}

3.2 server

語法:server name[parameters];

配置塊:upstream

server指定一臺上游服務(wù)器的名字,該名字可以是域名、ip地址端口、UNIX句柄等,后面可跟參數(shù):

.weight=number:設(shè)置向這臺上游服務(wù)器轉(zhuǎn)發(fā)的權(quán)重,默認是1。

.max_fails=number:該選項與fail_timeout配合使用,指在fail_timeout時間段內(nèi),如果向當前的上游服務(wù)器轉(zhuǎn)發(fā)失敗次數(shù)超過number,則認為在當前的fail_timeout時間段內(nèi)這臺上游服務(wù)器不可用。max_fail默認為1,如果設(shè)置為0,表示不檢查失敗次數(shù)。

.fail_timeout=time:fail_timeout表示該時間段內(nèi)轉(zhuǎn)發(fā)失敗多少次后認為上游服務(wù)器暫時不可用,用于優(yōu)化反向代理功能。它與向上游服務(wù)器建立連接的超時時間、讀取上游服務(wù)器的響應(yīng)超時時間等完全無關(guān)。默認為10s。

.down:表示所有的上游服務(wù)器永久下線,只在使用ip_hash配置項時才有用。

.backup:在使用ip_hash配置項時它是無效的。表示所在的上游服務(wù)器只是備份服務(wù)器,只有在所有的非備份上游服務(wù)器都失效后,才會向所在的上游服務(wù)器轉(zhuǎn)發(fā)請求。

upstream backend {
    server backend1.example.com weight=5;
    server 127.0.0.1:8080 max_fails=3 fail_timeout=30s;
    server unix:/tmp/backend3;
}

3.3 ip_hash

語法:ip_hash;

配置塊:upstream

ip_hash是某個用戶的請求始終落在固定的一臺上游服務(wù)器上。它根據(jù)用戶端的ip計算出一個key,將key按照upstream集群里的上游服務(wù)器數(shù)量進行取模,然后以取模后的結(jié)果把請求轉(zhuǎn)發(fā)到相應(yīng)的上游服務(wù)器中,這樣確保了同一個客戶端的請求只會轉(zhuǎn)發(fā)到指定的上游服務(wù)器中。

ip_hash與weight(權(quán)重)配置不可同時使用。如果upstream中一臺服務(wù)器不能使用時,不能直接刪除,而是使用down標識,來確保轉(zhuǎn)發(fā)策略的一慣性。

upstream backend {
    ip_hash;
    server backend1.example.com;
    server backend2.example.com;
    server backend3.example.com down;
    server backend4.example.com;
}

4、反向代理的基本配置

4.1、proxy_pass

語法:proxy_pass URL;

配置塊:location、if

將當前請求反向代理到URL參數(shù)指定的服務(wù)器上,URL可以是主機名或IP地址+端口。

location / {
     proxy_pass http://localhost:8000/uri
}

默認情況下反向代理是不會轉(zhuǎn)發(fā)請求中的Host頭部的,如需轉(zhuǎn)發(fā)需加上配置:proxy_set_header Host $host;

4.2、proxy_method

語法:proxy_method [GET/POST/DELETE/UPDATE/......];

配置塊:http、server、location

表示轉(zhuǎn)發(fā)時的協(xié)議方法名。

proxy_method POST;

4.3、proxy_hide_header

語法:proxy_hide_header the_header;

配置塊:http、server、location

Nginx將上游服務(wù)器的響應(yīng)轉(zhuǎn)發(fā)給客戶端,但默認不會轉(zhuǎn)發(fā):Date、Server、X-Pad和X-Accel-*。使用proxy_hide_header后可以任意地指定哪些HTTP頭部字段不能被轉(zhuǎn)發(fā)。

4.4、proxy_pass_header

語法:proxy_pass_header the_header

配置塊:http、server、location

與proxy_hide_header功能相反,將原來禁止轉(zhuǎn)發(fā)的header設(shè)置為允許轉(zhuǎn)發(fā)。

4.5、proxy_pass_request_body

語法:proxy_pass_requst_body on|off;

默認:proxy_pass_request_body on;

配置塊:http、server、location

表示確定是否向上游服務(wù)器發(fā)送HTTP包體部分。

4.6、proxy_pass_request_headers

語法:proxy_pass_request_headers on|off;

默認:proxy_pass_request_headers on;

配置塊:http、server、location

作用為確定是否轉(zhuǎn)發(fā)HTTP頭部

4.7、proxy_redirect

語法:proxy_redirect[default|off|redirect replacement];

默認:proxy_redirect default;

配置塊:http、server、location

當上游服務(wù)器返回的響應(yīng)是重定向或刷新(如301或302)請求時,proxy_redirect可以重設(shè)http頭部的location或refresh字段。

proxy_redirect http://localhost:8000/two/  http://frontendone;

上述代碼如果上游服務(wù)器返回302,location字段的URL是http://localhost:8000/two/some/uri/ 轉(zhuǎn)發(fā)給客戶端的location就是:http://frontendonesome/uri/

.replacement:可以省略replacement參數(shù)中的主機名部分,此時會用虛擬主機名稱來填充。

.off:將使location或refresh字段維持不變。

.default:按照proxy_pass配置項和所屬的location配置項重組發(fā)往客戶端的location頭部。

location one {
  proxy_pass http://upstream:port/two/;
  proxy_redirect default;
}
location one {
  proxy_pass http://upstream:port/two/;
  proxy_redirect http://upstream:port/two/one;
}

上述兩種配置效果一樣。

4.8、proxy_next_upstream

語法:proxy_next_upstream[error|timeout|invalid_header|http_500|http_502|http_503|http_504|http_404|off];

默認:proxy_next_upstream error timeout;

配置塊:http、server、location

表示當向一臺上游服務(wù)器轉(zhuǎn)發(fā)請求出現(xiàn)錯誤時,繼續(xù)換一臺上游服務(wù)器處理這個請求。

proxy_next_upstream參數(shù)則說明在哪些情況下會繼續(xù)選擇下一臺上游服務(wù)器轉(zhuǎn)發(fā)請求:

.error:當向上游服務(wù)器發(fā)起連接、發(fā)送請求、讀取響應(yīng)時出錯。

.timeout:發(fā)送請求或讀取響應(yīng)時發(fā)生超時。

.invalid_header:上游服務(wù)器發(fā)送的響應(yīng)是不合法的。

.http_500:上游服務(wù)器返回的響應(yīng)碼是500。

.http_502:上游服務(wù)器返回的響應(yīng)碼是502。

.http_503:上游服務(wù)器返回的響應(yīng)碼是503。

.http_504:上游服務(wù)器返回的響應(yīng)碼是504。

·http_404:上游服務(wù)器返回的HTTP響應(yīng)碼是404。

.off:關(guān)閉proxy_next_upstream功能-出錯就選擇另一臺上游服務(wù)器再次轉(zhuǎn)發(fā)。

上述就是我整理的一些Nginx反向代理的參數(shù)信息,希望對大家有所幫助,謝謝。

以上就是一次說清Nginx反向代理及參數(shù)配置的詳細內(nèi)容,更多關(guān)于Nginx反向代理及參數(shù)配置的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 圖文詳解nginx日志切割的實現(xiàn)

    圖文詳解nginx日志切割的實現(xiàn)

    這篇文章主要給大家介紹了關(guān)于nginx日志切割實現(xiàn)的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-01-01
  • Nginx服務(wù)器中瀏覽器本地緩存和虛擬機的相關(guān)設(shè)置

    Nginx服務(wù)器中瀏覽器本地緩存和虛擬機的相關(guān)設(shè)置

    這篇文章主要介紹了Nginx服務(wù)器中瀏覽器本地緩存和虛擬機的相關(guān)設(shè)置,是Nginx服務(wù)器搭建過程中的基本配置,需要的朋友可以參考下
    2015-08-08
  • 詳解nginx驚群問題的解決方式

    詳解nginx驚群問題的解決方式

    這篇文章主要介紹了詳解nginx驚群問題的解決方式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • nginx配置安裝免費證書的方法步驟

    nginx配置安裝免費證書的方法步驟

    HTTPS可以有效的防止數(shù)據(jù)被竊聽和篡改,本文主要介紹了nginx配置安裝免費證書的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • nginx部署項目刷新404問題及解決過程

    nginx部署項目刷新404問題及解決過程

    在nginx配置中,通過在server的location下添加`try_files?$uri?$uri/?/index.html;`來解決刷新頁面出現(xiàn)404的問題,這種方法簡單有效
    2025-11-11
  • nginx和Apache配置SSL證書的實現(xiàn)步驟

    nginx和Apache配置SSL證書的實現(xiàn)步驟

    SSL證書是一種數(shù)字證書,用于加密在網(wǎng)絡(luò)上發(fā)送的數(shù)據(jù)并保護敏感信息的安全性,本文主要介紹了nginx和Apache配置SSL證書的實現(xiàn)步驟,具有一定的參考價值,感興趣的可以了解一下
    2023-12-12
  • Nginx 502 Bad Gateway錯誤的原因分析及解決方案

    Nginx 502 Bad Gateway錯誤的原因分析及解決方案

    這篇文章主要介紹了Nginx 502 Bad Gateway錯誤的原因分析及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-05-05
  • Nginx進行域名重寫和泛域名解析配置的方法

    Nginx進行域名重寫和泛域名解析配置的方法

    這篇文章主要介紹了Nginx進行域名重寫和泛域名解析配置的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • PHP(FastCGI)在Nginx的alias下出現(xiàn)404錯誤的解決方法

    PHP(FastCGI)在Nginx的alias下出現(xiàn)404錯誤的解決方法

    這篇文章主要介紹了PHP(FastCGI)在Nginx的alias下出現(xiàn)404錯誤的解決方法,涉及nginx平臺的相關(guān)配置技巧,需要的朋友可以參考下
    2016-05-05
  • Linux環(huán)境下安裝nginx教程

    Linux環(huán)境下安裝nginx教程

    大家好,本篇文章主要講的是Linux環(huán)境下安裝nginx教程,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12

最新評論

唐海县| 奉贤区| 安塞县| 安丘市| 灵石县| 万全县| 三台县| 龙海市| 肃北| 新河县| 隆德县| 清涧县| 鱼台县| 鱼台县| 绵阳市| 壶关县| 岗巴县| 满城县| 清水河县| 阳曲县| 双桥区| 兴和县| 汝南县| 宁南县| 高尔夫| 渭源县| 额敏县| 郧西县| 奈曼旗| 新闻| 洮南市| 永丰县| 嘉兴市| 肥东县| 辽宁省| 施秉县| 会理县| 海阳市| 昆山市| 南涧| 宣汉县|