nginx does not close the connection to backend pop3 server
Igor Sysoev
is at rambler-co.ru
Tue Jul 24 10:00:18 MSD 2007
On Tue, Jul 24, 2007 at 10:16:03AM +0800, Joe Wong wrote:
> I am evaluating nginx pop3 proxy function and encounter 1 problem. Here
> is my setup:
>
> OS: RedHat FC7 2.6.21-1.3194.fc7 #1 SMP Wed May 23 22:35:01 EDT 2007
> i686 i686 i386 GNU/Linux
> GCC: gcc version 4.1.2 20070502 (Red Hat 4.1.2-12)
> Nginx version: 0.5.26
> Config option: --with-debug --with-mail --with-select_module
>
> Nginx config:
> daemon on;
> user root;
> worker_processes 10;
>
> error_log logs/error.log debug;
> pid logs/nginx.pid;
>
> #maximum total connections of each worker
> events {
> worker_connections 100;
> # use select;
> debug_connection 127.0.0.1;
> }
>
> mail {
> auth_http localhost:8088/auth.php;
>
> pop3_capabilities "TOP" "USER";
> pop3_auth plain;
> imap_capabilities "IMAP4rev1" "UIDPLUS";
>
> #pop3 configuration
> server {
> listen 110;
> protocol pop3;
> proxy on;
> }
> }
>
>
> Test case:
> - A mailbox with message around 10M large
> - Use telnet to port 110, issue the USER/PASS command to login
> - Issue RETR 1 to download the 10M message
> - Close the connection by pressing Ctrl-] then 'q' right after RETR
> command is issued
>
> At this time, Netstat shows that the connection from nginx to the
> backend POP3 server remains connected.
>
> Now, I repeat the above test case with "use select" turns on in
> nginx.conf. This time, I don't see the connection to backend pop3
> remains after my client connection to nginx is terminated in the middle.
> I suspect this is something to do with epoll call?
>
> I only did the test on POP3 proxy, not sure if it has the same behaviour
> on HTTP.
>
> Please let me know if you need more information.
Could you create debug logs for epoll and select cases, and send them to me ?
--
Igor Sysoev
http://sysoev.ru/en/
More information about the nginx
mailing list