<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi Maxim,<div><br><div>Thank you for sticking with me on this. I appreciate very much.</div><div><br></div><div>I did understand you meant to change the number of worker_connections. The only reason why I had lowered it was that I got a warning:</div><div>nginx: [warn] 1024 worker_connections exceed open file resource limit: 256</div><div><br></div><div>After pointing my mail client to localhost, I was finally able to see nginx hit my mock for an authentication request so there is definitely some progress! Unfortunately, the proxying is still not working. More precisely:</div><div><br></div><div>nginx hits my authenticate mock server with:</div><div><pre>Host: localhost
Auth-User: <my user name>
Auth-Pass: <my password>
Auth-Protocol: pop3
Auth-Login-Attempt: 1
Client-IP: 192.168.1.104</pre></div><div><p>- If my mock responds with<br>
< HTTP/1.1 200 OK<br>
< Content-Type: text/html<br>
< Auth-Status: Invalid login or password<br>
< Auth-Wait: 3<br>
< Content-Length: 0<br>
Then my mail client tells me that I have the incorrect username or password, <b>as expected</b>.</p><p>- However, if my mock responds with:<br>
< Auth-Status: OK<br>
< Auth-Server: <my mail server><br>
< Auth-Port: 110<br>
The the mail client responds with an <b>internal server error</b>.<br>
I added the Auth-Pass (which should not be needed anyway) in the response and that didn't help.</p></div><div><br></div><div>Since I didn't see any error in the error.log from nginx I used wireshark to monitor traffic. I filtered on tcp.port eq 110 and compared side by side the traffic coming from an account using a direct connection to my mail server, and an account going through the nginx proxy. In the second case (through proxy), <b>I do not see any traffic going out to my mail server, </b>suggesting it does not get the info it was expecting from my authentication service.</div><div><br></div><div>- Can you think of something I am missing?</div><div>- How do I even go about debugging what's happening here apart from what I am already doing (using wireshark)?</div><div><br></div><div>Again, for info, here is my current config:</div><div><br></div><div><br></div><div><div> worker_processes  1;</div><div><br></div><div>  error_log  /var/log/nginx/error.log info;</div><div><br></div><div> events {</div><div> worker_connections 1024;</div><div> }</div><div><br></div><div>  mail {      </div><div>  # I assume server_name comes from Auth-Server so I tried commenting out. Same behavior.</div><div>    server_name       <my mail server>; </div><div>    auth_http   localhost:8080/authorize;</div><div><br></div><div>    pop3_auth         plain;</div><div>    pop3_capabilities "TOP" "USER" "UIDL";</div><div><br></div><div>    smtp_auth         login plain cram-md5;</div><div>    smtp_capabilities "SIZE 10485760" ENHANCEDSTATUSCODES 8BITMIME DSN;</div><div> </div><div>   xclient           off;</div><div><br></div><div>    server {</div><div>        listen   2525;</div><div>        protocol smtp;</div><div>    }</div><div>    server {</div><div>          listen     110;</div><div>          protocol   pop3;</div><div>          proxy      on;</div><div>          proxy_pass_error_message  on;</div><div>    }</div><div> }</div></div><div><br></div><div><br></div><div><br><div><div>On Oct 24, 2012, at 12:26 PM, Maxim Dounin <<a href="mailto:mdounin@mdounin.ru">mdounin@mdounin.ru</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Hello!<br><br>On Wed, Oct 24, 2012 at 11:49:43AM -0400, Laurent Bonetto wrote:<br><br><blockquote type="cite">Thanks. That was indeed my first issue. I did sudo port edit <br>nginx, added --with-mail to the config options, reinstalled, and <br>now I am passed that error.<br><br>I then got an error that no events was present so I just added <br>events {<br> worker_connections 1;<br> }<br></blockquote><br>This isn't going to work.  With such a low number of worker <br>connections nginx won't be able to start worker processes properly <br>(unless you have no listening sockets configured).<br><br>Try looking into error log, you should see something like:<br><br>2012/10/24 20:17:53 [alert] 58202#0: 1 worker_connections are not enough<br>2012/10/24 20:17:53 [notice] 58201#0: signal 20 (SIGCHLD) received<br>2012/10/24 20:17:53 [notice] 58201#0: worker process 58202 exited with code 2<br>2012/10/24 20:17:53 [alert] 58201#0: worker process 58202 exited with fatal code 2 and cannot be respawned<br><br>You have to set worker_processes to something reasonable.  <br>Something like 512 as by default is usually a good choice for a <br>small test server.<br><br><blockquote type="cite">Now nginx is starting but I never see any hit to my mock service <br>despite it being specified in auth_http<br>    auth_http    <a href="http://localhost:8080/authorize">http://localhost:8080/authorize</a>;<br>No errors reported in the error log.<br><br>When is nginx expected to hit the url specified in nginx? When <br>it gets launched? When an event occurs on the ports 110 and 2525 <br>with the protocols I specified?<br></blockquote><br>The auth service is requested when nginx needs to authenticate a <br>client and to find out a backend server address to proxy the <br>client to.<br><br>-- <br>Maxim Dounin<br><a href="http://nginx.com/support.html">http://nginx.com/support.html</a><br><br>_______________________________________________<br>nginx mailing list<br>nginx@nginx.org<br>http://mailman.nginx.org/mailman/listinfo/nginx<br></blockquote></div><br></div></div></body></html>