how to get remote_addr in ngix for POP/IMAP with perl module
moorthi
nginx-forum at nginx.us
Thu Oct 28 18:59:21 MSD 2010
hi
i am running ngnix with perl module for IMAP/POP, but i am not getting
the source remote address from where user is authenticating.
[b]my conf:[/b]
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local]
$request '
'"$status" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
perl_modules perl/lib;
perl_require mailauth.pm;
server {
listen 8880;
location /auth {
perl mailauth::handler;
}
}
}
mail {
auth_http 127.0.0.1:8880/auth;
auth_http_timeout 6000;
pop3_capabilities "TOP" "USER";
imap_capabilities "IMAP4rev1" "UIDPLUS";
server {
listen 110;
protocol pop3;
proxy on;
auth_http_header X-Auth-Port 110;
}
server {
listen 143;
protocol imap;
proxy on;
auth_http_header X-Auth-Port 143;
}
}
[b]my mailauth.pm handler function on nginx server 192.168.1.1:[/b]
sub handler {
my $r = shift;
$r->header_out("Auth-Status", "OK");
$r->header_out("Auth-Server", '192.168.1.2');
$r->header_out("Auth-Port", '143');
$r->send_http_header("text/html");
warn 'H: ',$r->remote_addr;
return OK;
}
[b]from 192.168.1.3[/b]
telnet 192.168.1.1 143
. login user1 pass1
. OK [CAPABILITY IMAP4 IMAP4rev1 logged in
[b]on 192.168.1.1 tail -f /var/log/nginx/error_log[/b]
H: [b]127.0.0.1[/b] at /usr/share/nginx/perl/lib/mailauth.pm line 59.
actually i have to get 192.168.1.3
how to get this remote_addr can u plz help me.
Posted at Nginx Forum: http://forum.nginx.org/read.php?2,123661,145342#msg-145342
More information about the nginx
mailing list