Nginx 正向代理和反向代理的配置實(shí)現(xiàn)
1、為什么 Nginx 性能這么高
Nginx性能高的原因有以下幾點(diǎn):
Nginx是一個(gè)輕量級(jí)的Web服務(wù)器,它使用少量的系統(tǒng)資源來(lái)處理大量的并發(fā)連接請(qǐng)求。
Nginx采用了事件驅(qū)動(dòng)模型,它使用異步非阻塞的方式處理請(qǐng)求,可以更好地利用系統(tǒng)資源。
Nginx具有高度的可擴(kuò)展性和靈活性,可以通過(guò)添加模塊來(lái)擴(kuò)展其功能。
Nginx具有出色的負(fù)載均衡和反向代理功能,可以將請(qǐng)求分配到多個(gè)服務(wù)器上,從而提高性能和可靠性。
總之,Nginx通過(guò)優(yōu)秀的架構(gòu)設(shè)計(jì)和高效的算法實(shí)現(xiàn)了高性能和高可靠性,成為了Web服務(wù)器領(lǐng)域的佼佼者。
2、Nginx 正向代理和反向代理
Nginx既可以作為正向代理,也可以作為反向代理。正向代理和反向代理的區(qū)別在于代理的對(duì)象不同。
正向代理:客戶端向代理服務(wù)器發(fā)送請(qǐng)求,代理服務(wù)器再向目標(biāo)服務(wù)器發(fā)送請(qǐng)求,目標(biāo)服務(wù)器返回響應(yīng)給代理服務(wù)器,代理服務(wù)器再將響應(yīng)返回給客戶端。這時(shí),客戶端并不知道請(qǐng)求的目標(biāo)服務(wù)器是哪個(gè),只知道代理服務(wù)器的地址。
反向代理:客戶端向目標(biāo)服務(wù)器發(fā)送請(qǐng)求,但實(shí)際上請(qǐng)求被發(fā)送到了反向代理服務(wù)器上,反向代理服務(wù)器會(huì)根據(jù)配置的規(guī)則將請(qǐng)求轉(zhuǎn)發(fā)給后端的目標(biāo)服務(wù)器進(jìn)行處理,再將處理結(jié)果返回給客戶端。這時(shí),客戶端并不知道請(qǐng)求的目標(biāo)服務(wù)器是哪個(gè),只知道反向代理服務(wù)器的地址。
Nginx可以通過(guò)配置文件的方式實(shí)現(xiàn)正向代理和反向代理的功能。在配置文件中,通過(guò)proxy_pass指令指定代理服務(wù)器的地址和端口號(hào),即可實(shí)現(xiàn)代理的功能。
3、Nginx 正向代理的配置
nginx.conf 配置正向代理:
http { # 定義正向代理服務(wù)器的地址和端口號(hào) upstream proxy_server { server 192.168.1.1:8080; } # 定義代理服務(wù)器的緩存 proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=cache:10m inactive=60m; # 定義代理服務(wù)器的緩存時(shí)間 proxy_cache_valid 200 60m; # 定義代理服務(wù)器的緩存大小 proxy_cache_size 10m; # 定義代理服務(wù)器的緩存類型 proxy_cache_key "$scheme$request_method$host$request_uri"; # 定義代理服務(wù)器的緩存控制 proxy_cache_bypass $http_pragma; proxy_cache_revalidate on; proxy_cache_min_uses 1; # 定義代理服務(wù)器的超時(shí)時(shí)間 proxy_connect_timeout 30s; proxy_send_timeout 60s; proxy_read_timeout 60s; # 定義代理服務(wù)器的請(qǐng)求頭 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 定義代理服務(wù)器的響應(yīng)頭 proxy_hide_header X-Powered-By; proxy_hide_header Server; # 定義代理服務(wù)器的緩存控制頭 add_header Cache-Control "public, max-age=60, s-maxage=60"; # 定義代理服務(wù)器的緩存控制頭 proxy_cache_lock on; # 定義代理服務(wù)器的緩存控制頭 proxy_cache_methods GET HEAD POST; }
server { listen 80; server_name example.com; # 定義代理服務(wù)器的地址和端口號(hào) location / { proxy_pass http://proxy_server; proxy_cache cache; proxy_cache_key "$scheme$request_method$host$request_uri"; proxy_cache_valid 200 60m; proxy_cache_bypass $http_pragma; proxy_cache_revalidate on; proxy_cache_min_uses 1; } }
4、Nginx 配置反向代理
nginx.conf 配置反向代理:
http { # 定義后端服務(wù)器的地址和端口號(hào) upstream backend_server { server 192.168.1.1:8080; } }
server { listen 80; server_name example.com; # 定義反向代理規(guī)則,將請(qǐng)求轉(zhuǎn)發(fā)到后端服務(wù)器 location / { proxy_pass http://backend_server; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
到此這篇關(guān)于Nginx 正向代理和反向代理的配置實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Nginx 正向代理和反向代理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Laravel的Nginx重寫(xiě)規(guī)則實(shí)例代碼
這篇文章主要介紹了Laravel的Nginx重寫(xiě)規(guī)則實(shí)例代碼,需要的朋友可以參考下2017-09-09Nginx泛解析到子目錄后自動(dòng)判斷有無(wú)public目錄詳解
這篇文章主要給大家介紹了關(guān)于Nginx泛解析到子目錄后自動(dòng)判斷有無(wú)public目錄的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)跟著小編一起學(xué)習(xí)學(xué)習(xí)吧。2017-08-08總結(jié)Nginx 的使用過(guò)程中遇到的問(wèn)題及解決方案
這篇文章主要總結(jié)了Nginx 的使用過(guò)程中遇到的問(wèn)題及解決方案,非常的簡(jiǎn)單實(shí)用,以后遇到相關(guān)問(wèn)題還會(huì)繼續(xù)更新,希望大家收藏關(guān)注2014-10-10nginx部署vue項(xiàng)目的詳細(xì)圖文教程
很多小伙伴在做完Vue項(xiàng)目之后,想要部署到服務(wù)器上自己運(yùn)行試試,下面這篇文章主要給大家介紹了關(guān)于nginx部署vue項(xiàng)目的詳細(xì)圖文教程,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09Nginx實(shí)現(xiàn)跨域使用字體文件的配置詳解
這篇文章主要給大家介紹了關(guān)于Nginx實(shí)現(xiàn)跨域使用字體文件的配置方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-06-06nginx中proxy_set_header參數(shù)的實(shí)現(xiàn)
本文詳細(xì)介紹了Nginx中proxy_set_header指令的用法,通過(guò)設(shè)置不同的請(qǐng)求頭信息,可以實(shí)現(xiàn)更靈活的反向代理功能,具有一定的參考價(jià)值,感興趣的可以了解一下2024-12-12nginx?location指令(匹配順序匹配沖突)實(shí)戰(zhàn)示例詳解
這篇文章主要介紹了nginx?location指令(實(shí)戰(zhàn)示例匹配順序匹配沖突)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06