小编Jed*_*son的帖子

SSL 流上的 NGINX IP 透明度

我正在设置一个使用 NGINX 作为负载均衡器的服务器集群。所有请求都通过 HTTPS,因此负载均衡器使用流(SSL 直通)将请求直接传递到集群。

我需要终端服务器查看客户端 IP 而不是负载均衡器 IP。

我的 nginx.conf

## Misc other config stuff

stream {
  map $ssl_preread_server_name $backend_cluster_map {
    site.a cluster_1;
    site.b cluster_2;
    default cluster_1;
  }

  upstream cluster_1 {
    server 10.0.0.202:443;
    server 10.0.0.203:443;
  }

  upstream cluster_2 {
    server 10.0.0.204:443;
    server 10.0.0.205:443;
  }

  server {
    listen 443;
    proxy_pass $backend_cluster_map;
    ssl_preread on;
  }
}
Run Code Online (Sandbox Code Playgroud)

我尝试更改服务器块以包含proxy_set_header转发 IP,但没有通过 nginx 测试,说明proxy_set_header directive is not allowed here.

server {
  listen 443;
  proxy_protocol on;
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr; …
Run Code Online (Sandbox Code Playgroud)

ssl nginx load-balancing

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

标签 统计

load-balancing ×1

nginx ×1

ssl ×1