首頁 >運維 >Nginx >nginx如何設定反向代理

nginx如何設定反向代理

王林
王林轉載
2020-06-19 16:29:3922354瀏覽

nginx如何設定反向代理

反向代理程式是工作中最常用的伺服器功能,常用來解決跨網域問題,下面我們來簡單介紹如何實作反向代理。

首先進入Nginx 的主設定檔:

vim /etc/nginx/nginx.conf

(推薦教學:nginx使用教學

然後我們去http 模組的server 區塊中的location /,增加一行將預設網址重新導向至最大學習網站Bilibili 的proxy_pass 設定:

nginx如何設定反向代理

##改完儲存退出,

nginx -s reload重新加載,進入預設網址,那麼現在就直接跳到B 站了,實作了一個簡單的代理程式。

實際使用中,可以將請求轉送到本機另一個伺服器上,也可以根據存取的路徑跳到不同連接埠的服務。

例如我們監聽9001 端口,然後把訪問不同路徑的請求進行反向代理:

把訪問http://127.0.0.1:9001/edu 的請求轉發到http:/ /127.0.0.1:8080

把訪問http://127.0.0.1:9001/vod 的請求轉送到http://127.0.0.1:8081

這種要怎麼配置呢,首先同樣打開主設定文件,然後在http 模組下增加一個server 區塊:

server {
  listen 9001;
  server_name *.sherlocked93.club;

  location ~ /edu/ {
    proxy_pass http://127.0.0.1:8080;
  }
  
  location ~ /vod/ {
    proxy_pass http://127.0.0.1:8081;
  }
}

反向代理還有一些其他的指令,可以了解一下:

1、proxy_set_header:在將客戶端請求傳送給後端伺服器之前,變更來自客戶端的請求頭資訊。

2、proxy_connect_timeout:設定Nginx與後端代理伺服器嘗試建立連線的逾時時間。

3、proxy_read_timeout:設定Nginx向後端伺服器群組發出read請求後,等待對應的逾時時間。

4、proxy_send_timeout:設定Nginx向後端伺服器群組發出write請求後,等待對應的逾時時間。

5、proxy_redirect:用於修改後端伺服器傳回的回應頭中的Location和Refresh。

以上是nginx如何設定反向代理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:juejin.im。如有侵權,請聯絡admin@php.cn刪除