2012-08-07 64 views
2

我在dotcloud上使用我的網絡上的dancer perl。我知道問題是設置爲nginx。但我嘗試按照這種方式添加nginx.conf如何在dotcloud上獲得真正的客戶端ip?

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.*.*.*
你能幫我解決這個問題嗎?

回答

3

我找到了解決辦法:

my $user_ip = request->env->{'HTTP_X_REAL_IP'}; 
$user_ip =~ s/^::ffff:(.*)/$1/g; 
0

您可以使用Plack::Middleware::ReverseProxy考慮。