nginx 基礎3 反向代理

1.代理的配置

        location / {
        proxy_pass http://192.168.0.28;
        #通用匹配,將訪問進來的流量全部轉發給"http://192.168.0.28"
        proxy_set_header Host $http_host;
        #將請求頭部的host在轉發給後端主機的host,原因是客戶端訪問訪問代理服務器是帶域名的,而代理去訪問後端web是用ip訪問的丟失了域名,
所以要給它補上,用於後端虛擬主機識別。
        proxy_set_header zhengshiIP $remote_addr;
        #$remote_addr請求的ip,將請求的ip賦值給"zhengshiIP",後端服務器在log配置中引用就能得到真實的ip,注意後面引用需要加"http_"

        }

2.後端web 配置,日誌的使用

日誌的配置
nginx  基礎3 反向代理
#日誌配置,最後兩個是添加的默認沒有的,一個是真實ip,一個是訪問的真實url
效果下圖
nginx  基礎3 反向代理

後端虛擬主機配置

server {
     listen 80;
     server_name www.333.com;
     root /333;
     index index.html;

  location / {
}
}

#在"/etc/nginx/conf.d" 目錄建立新conf 文件即可,

3.設置查看遞歸訪問ip

實驗拓撲
nginx  基礎3 反向代理
代理192.168.0.13 配置

location / {
        proxy_pass http://192.168.0.25;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

代理192.168.0.25 配置

location / {
        proxy_pass http://192.168.0.28;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

查看access.log日誌
nginx  基礎3 反向代理

4.include 的使用

vim /etc/nginx/proxy_params
#在nginx 的配置目錄裏新增一個配置文件"proxy_params"
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

調用

   location / {
        proxy_pass http://192.168.0.25;
        include proxy_params;
                #調用剛纔新增的配置文件,這邊是相對路徑,文件要nginx 的配置文件夾裏,否則就要寫決定路徑
        }

#include 可以理解爲函數,把配置段寫在nginx 配置目錄裏,主配置可以多次調用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章