nginx 反向代理配置的相关请求头设置

为了后端能够获取到客户端的真实IP,需要配置一些请求头

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# 一级代理
server {
listen 10.10.10.11:80;
server_name localhost;

location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header HTTP_CLIENT_IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Client-Real-ip $remote_addr;

proxy_pass http://10.10.10.12;
}
}

# 二级代理
server {
listen 10.10.10.12:80;
server_name localhost;

location / {
set_real_ip_from 10.10.10.0/24;
real_ip_header X-Forwarded-For;
real_ip_recursive on;

proxy_set_header Host $host;
proxy_set_header X-Real-IP $http_x_real_ip;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://10.10.10.13;
}
}

# 三级代理
server {
listen 10.10.10.13:80;
server_name localhost;

location / {
set_real_ip_from 10.10.10.11;
set_real_ip_from 10.10.10.12;
set_real_ip_from 10.10.10.13;
real_ip_header X-Forwarded-For;
real_ip_recursive on;

proxy_set_header Host $host;
proxy_set_header X-Real-IP $http_x_real_ip;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://10.10.10.1:8888;
}
}
1
2
3
4
gw=10.10.10.1                   10.10.10.11                       10.10.10.12                       10.10.10.100
---客户端--------------------------> nginx---------------------------->nginx --------------------------> server
10.10.10.1 remote_addr=10.10.10.1 remote_addr=10.10.10.11 remote_addr=10.10.10.12
X-Real-IP=$remote_addr X-Real-IP=$http_x_real_ip X-Real-IP=$http_x_real_ip
打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2018-2024 Outsrkem
  • 访问人数: | 浏览次数:

      请我喝杯咖啡吧~

      支付宝
      微信