nginxの実際のケース - 本当のクライアントを取得します
server1 nginxのサーバーとしてこの実験では、Server2がサーバー1剤であり、クライアントサーバ3
server2の中にリバースプロキシを設定するには、STEP1の変更nginxの設定ファイル:
vim /usr/local/nginx/conf/nginx.conf
17 http {
18 include mime.types;
19 default_type application/octet-stream;
20 upstream westos {
21 server 172.25.254.1:80;
22 }
118 server {
119 listen 80;
120 server_name www.westos.org;
121 location / {
122 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
123 proxy_pass http://westos;
124 }
125 }
nginx -t #语法检测
nginx -s reload #在不暂停服务的情况下重新加载
server1上の空のログをSTEP2:
cd /usr/local/nginx/logs
>access.log #清空日志
STEP3はserver3の中で解決し、テストを追加しました:
vim /etc/hosts
STEP4は、server1上のログを表示します。
STEP5設定ファイル、実際のクライアントIPへのアクセスを変更SERVER1:
vim /usr/local/nginx/conf/nginx.conf
39 server {
40 listen 80;
41 server_name localhost;
42 set_real_ip_from 172.25.254.2; #从代理处获取真实ip
43 real_ip_header X-Forwarded-For; #从http请求头中拿到数据
44 real_ip_recursive on;
STEP6の設定ファイル、実際のクライアントIPへのアクセスを変更SERVER2:
vim /usr/local/nginx/conf/nginx.conf
118 server {
119 listen 80;
120 server_name www.westos.org;
121 location / {
122 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #从真实的请求头中拿到数据,真实后端才能保存下来
123 proxy_pass http://westos;
STEP7リロードnginxのserver1とserver2のは、次のとおりです。
nginx -t #语法检测
nginx -s reload #在不暂停服务的情况下重新加载
クライアントにおけるSTEP8アクセスサーバー1:
STEP9ビュー顧客ログエンドのserver1 IP:
プロファイルを設定したら、実際のクライアントIP(IPのサーバー3)Aを見ることができます