nginx反向代理網站遇到的一些問題
阿新 • • 發佈:2021-07-29
使用nginx反向代理百度之類的網站和反向代理自己釋出的服務設定上有點差別
使用include 配置檔案方式,
首先在 nginx.conf檔案的 http 中 加入,
include /etc/nginx/proxy34.conf;
proxy34.conf 檔案內容如下:
## Basic reverse proxy server ## ## backend for 16.32 ## upstream uicps { # server 192.168.16.32:59002 weight=1; server www.163.com; } ## Start16.32 ## server { listen 9000; server_name localhost; # access_log logs/proxy34.access.log main; # error_log logs/proxy34.error.log; root html; index index.html index.htm index.php; ## send request back to 16.32 ## location / { proxy_pass http://uicps; #Proxy Settings proxy_redirect off; proxy_set_header Host www.163.com; # $host;不能使用$host變數 proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_max_temp_file_size 0; proxy_connect_timeout90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } }
另一種情況Nginx有反向代理使用者的真實IP地址:
從nginx模組中取$remote_addr值為上一級代理的IP地址,而非真實客戶端的IP地址。為了獲取真實客戶端IP地址,可以使用nginx自帶的realip模組。此模組可將真實客戶端IP地址設定進HTTP請求頭中,以便後端的web伺服器獲取。
set_real_ip_from 192.168.1.209; 其中192.168.1.209是代理伺服器地址
反向代理的nginx配置
location / { #root /usr/share/nginx/html/minor/public; #try_files $uri $uri/ /index.php?$query_string; proxy_pass http://192.168.1.219; proxy_set_header Host $host; set_real_ip_from 192.168.1.209; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; fastcgi_param REMOTE_ADDR $remote_addr; index index.php index.html index.htm; }
轉載自:https://blog.csdn.net/chenyulancn/article/details/70841298
https://blog.csdn.net/chuoban7047/article/details/100764831