我在 ElasticBeanstalk 上运行的 docker 映像中有一个akka-spray
服务器。nginx
我正在尝试通过以下方式获取客户端 IP:
(path("myip") & get) {
clientIP {
ip => complete("Client's ip is " + ip.toOption.map(_.getHostAddress).getOrElse("unknown"))
}
} ~
我的配置也有
remote-address-header = on
我ngingx.conf
的是
worker_processes 1;
events { worker_connections 1024; }
http {
sendfile on;
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80;
location / {
proxy_pass http://127.0.0.1:8080/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
}
}
将浏览器指向/myip
端点会给我错误的 IP 地址。它给出了 172.something,我认为它是负载均衡器。这肯定不是我的浏览器。我应该使用其他东西.getHostAddress
吗?使用 rawip
会给出相同的错误值。谢谢。