我在dotcloud上使用舞者perl为我的网站。我知道问题是 nginx 的设置。但我试着像这样添加nginx.conf
。
location / {
proxy_pass http://127.0.0.1:80;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
并返回505;
无论如何,在我的代码中,remote_address总是返回10.*.*.*
你能帮我解决这个问题吗?
答案 0 :(得分:3)
我找到了解决方案:
my $user_ip = request->env->{'HTTP_X_REAL_IP'};
$user_ip =~ s/^::ffff:(.*)/$1/g;
答案 1 :(得分:0)
您可以考虑使用Plack::Middleware::ReverseProxy
。