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

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

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