Nginx反向代理

nginx的反向代理

反向代理的原理

  • Nginx是一個高性能的Web服務器,它也可以用作反向代理服務器。當Nginx作為反向代理服務器時,它將客戶端的請求轉發(fā)到后端的服務器,而不是直接向客戶端提供服務。
  • Nginx的反向代理功能是通過配置文件來實現的。在配置文件中,您可以指定哪些請求需要轉發(fā)到哪個后端服務器,以及如何處理后端服務器的響應。

  • 在反向代理配置中,Nginx需要監(jiān)聽一個端口,以接收來自客戶端的請求。這個端口通常是80或443,即HTTP或HTTPS協議的默認端口。當Nginx接收到客戶端的請求時,它會根據配置文件中的規(guī)則,將請求轉發(fā)到后端的服務器。

  • 在將請求轉發(fā)到后端服務器之前,Nginx還可以進行一些處理,例如修改請求頭或響應頭,以及對請求進行緩存等。這些處理可以提高反向代理服務器的性能和安全性。

  • 當后端服務器響應請求時,Nginx會將響應轉發(fā)回客戶端。在轉發(fā)響應之前,Nginx也可以進行一些處理,例如修改響應頭或對響應進行壓縮等。這些處理可以提高響應速度和帶寬利用率。

  • 總的來說,Nginx作為反向代理服務器的工作原理是將客戶端的請求轉發(fā)到后端的服務器,并將后端服務器的響應轉發(fā)回客戶端。

使用反向代理

使用若依前后端分離的項目來舉例,在若依項目中,默認前端請求驗證碼的端口是后端的8080,但在開發(fā)中,往往8080端口經常容易被占用,需要更改后端的啟動端口。

假設我們的后端現在8000端口啟動,把前端啟動在8001的端口,前端在請求時會請求不到后端。可以使用nginx的反向代理來將8001的請求發(fā)送到8000。

使用docker-compose在啟動時,映射nginx的nginx-default.conf文件,并映射前端dist到nginx的html

version: '3'
services:
  ui:
    image: nginx
    container_name: ruoyi-ui
    ports:
      - 8001:80
    volumes:
      - "$PWD/nginx-default.conf:/etc/nginx/conf.d/default.conf"
      - "$PWD/dist:/usr/share/nginx/html"

在這個docker-compose里我們啟動了一個nginx的容器并設置了兩個卷的映射路徑。

在nginx-default-conf里寫反向代理的端口
location /prod-api/ { proxy_pass http://[ip]:8000/; }

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容