小编xCo*_*lus的帖子

Nginx:反向代理将客户端IP传递给服务器

在现有的 nginx 反向代理上,我需要将客户端 IP 传递给服务器(从 nginx 到 NG-Engine 中服务的前端,然后从这个到后端),我尝试了很多站点,但服务器只是接收127.0.0.1。额外信息(在 Michael Hampton 问题之后添加),我们的虚拟机基础架构:

  1. 客户端浏览器(另一个虚拟机或远程桌面)
  2. (VM1) nginx 反向代理(它有效,我至少添加了 HTTPS 层)
  3. (VM1) NgEngine 服务于自制前端
  4. (VM1) 由 Java/Spring 自制后端提供的 RESTful API(在 IntelliJ idea 中运行)
  5. (VM2..x) 其他服务器向后端提供数据(不可能)

我检查了文档,在这里尝试过(包括删除 X-Real-IP 标头,正如他们在另一个问题中所建议的那样)。我还尝试添加:

set_real_ip_from 127.0.0.1;
real_ip_header X-Forwarded-For
Run Code Online (Sandbox Code Playgroud)

我的 nginx 有 real_ip 模块(下面 nginx -V 的输出),这是我的 nginx.conf ......我做错了什么?

user www-data;
worker_processes auto;
pid /run/nginx.pid;

events {
  worker_connections 768;
  # multi_accept on;
}

http {
  sendfile on;
  tcp_nopush on;
  tcp_nodelay on;
  keepalive_timeout 65;
  types_hash_max_size 2048;
  # …
Run Code Online (Sandbox Code Playgroud)

nginx reverse-proxy

5
推荐指数
1
解决办法
3万
查看次数

标签 统计

nginx ×1

reverse-proxy ×1