
這個(gè)Nginx反向代理示例使用Tomcat作為源服務(wù)器,但任何后端服務(wù)器,如Node,Jetty或WebSphere都可以工作。
Nginx反向代理設(shè)置的好處是什么?
使用Nginx作為反向代理的好處包括:
- 客戶端通過單個(gè)Web地址訪問所有后端資源。
- 反向代理可以提供靜態(tài)內(nèi)容,這減少了Express等應(yīng)用服務(wù)器上的負(fù)載,Tomcat或WebSphere。
- Nginx反向代理可以通過保護(hù)后端資源的防火墻進(jìn)行導(dǎo)航。
- 反向代理可以充當(dāng)高速緩存或緩沖器以減少延遲。
- 通過對站點(diǎn)的單點(diǎn)訪問,用戶訪問控制大大簡化。
Nginx反向代理配置步驟
按照以下步驟設(shè)置和配置您自己的Nginx反向代理服務(wù)器:
- 在Windows或Linux服務(wù)器上安裝Nginx(先決條件)。
- 添加Nginx代理通行證?在虛擬主機(jī)或默認(rèn)配置文件中設(shè)置。
- 將上下文根映射到后端服務(wù)器的URL。
- 可選地,設(shè)置Nginx反向代理的頭部以用于后端。
- 重新啟動(dòng)Nginx反向代理并測試反向代理設(shè)置。
安裝Nginx
在Ubuntu上,安裝最新版本的Nginx。執(zhí)行apt-get更新?和/或apt-get升級?命令,后跟apt-get install?命令
sudo apt-獲取更新-y 正在閱讀包列表...完成 sudo apt-get upgrade -y 正在計(jì)算升級...完成
sudo apt-get install nginx -y 以下Nginx包將安裝在Ubuntu 22上: libnginx-mod-http-geoip2 nginx-common nginx-core nginx-proxy 安裝nginx 1.18 ubuntu 22... Done
如何驗(yàn)證Nginx安裝?
執(zhí)行盡職調(diào)查并檢查Nginx服務(wù)器安裝是否成功。
狀態(tài)檢查應(yīng)該表明Nginx處于活動(dòng)狀態(tài)。
sudo systemctl status nginx ● nginx - 一個(gè)高性能的web,http和反向代理服務(wù)器 Loaded:loaded(/lib/systemd/system/nginx.service;enabled;) 有效: active(Nginx服務(wù)器運(yùn)行)
添加Nginx proxy_pass設(shè)置
Nginx反向代理配置中最重要的配置步驟是添加代理通行證?將傳入U(xiǎn)RL映射到后端服務(wù)器的設(shè)置。
在這個(gè)Nginx反向代理示例中,我們假設(shè)Apache Tomcat服務(wù)器在端口8080的本地主機(jī)上運(yùn)行,并且我們需要Nginx代理應(yīng)用程序?的上下文根/示例.

proxy_pass設(shè)置使Nginx反向代理設(shè)置工作。
該代理通行證?在任何虛擬主機(jī)配置文件的位置部分配置。要設(shè)置Nginx代理通行證?全局,編輯默認(rèn)值?Nginx中的文件網(wǎng)站-可用?文件夾
sudo nano /etc/nginx/sites-available/default
Nginx proxy_pass示例
對于本例,我們設(shè)置Nginx反向代理的位置映射,以轉(zhuǎn)發(fā)任何具有/示例?在指向運(yùn)行在端口8080上的Apache Tomcat服務(wù)器的URI中:
#nginx反向代理映射示例 # /etc/nginx/sites-available/default 區(qū)位/示例 { 代理_通行證http://localhost:8080/示例; }
設(shè)置Nginx代理頭值
默認(rèn)情況下,Nginx將自己的IP地址中繼到反向代理目標(biāo)。
要讓Nginx中繼發(fā)出原始請求的客戶端的IP地址、主機(jī)和端口信息,可以設(shè)置代理集標(biāo)頭?價(jià)值觀
此外,Nginx緩沖數(shù)據(jù)以幫助管理繁重的工作負(fù)載,但這對于需要盡可能低延遲的應(yīng)用程序來說可能是不可取的。代理緩沖?關(guān)閉用于Nginx反向代理配置。
這個(gè)Nginx反向代理示例關(guān)閉緩沖,同時(shí)為處理代理請求的后端服務(wù)器設(shè)置客戶端頭:
#示例nginx反向代理配置文件 # /etc/nginx/sites-available/default 區(qū)位/示例 { 代理通行證 http://localhost:8080/examples; 代理緩沖 關(guān)閉; 代理集標(biāo)頭 X-Real-IP $remote_addr; 代理集標(biāo)頭 X-Forwarded-Host $host; 代理集標(biāo)頭 X-Forwarded-Port $server_port; }
添加這些Nginx代理傳遞,代理緩沖?和/或代理集標(biāo)頭?更新到默認(rèn)配置文件并保存更改。
重新啟動(dòng)Nginx作為反向代理
要查看Nginx作為反向代理的功能,只需重新啟動(dòng)服務(wù)器以加載新配置。
sudo systemctl restart nginx
當(dāng)服務(wù)器上線后,嘗試通過Nginx反向代理訪問后端服務(wù)器。在這個(gè)例子中,我們可以通過Nginx訪問運(yùn)行在8080端口上的Tomcat服務(wù)器。
http://localhost/示例 --代理--〉 http://localhost:8080/例
Nginx反向代理轉(zhuǎn)發(fā)充當(dāng)Tomcat上示例應(yīng)用程序的所有請求的單一入口點(diǎn)。這證明Nginx反向代理配置設(shè)置是成功的。

Nginx反向代理示例將/示例?指向Apache Tomcat服務(wù)器的URI。
這就是在Ubuntu上配置和設(shè)置Nginx反向代理的簡單程度。