<div dir="ltr"><div>Hi,<br><br>NTLM over HTTP is a 3 request "handshake" that must occur over the same TCP connection.<br>My HTTP service implements the NTLMSSP acceptor and uses the clients remote address and port like "<a href="http://10.11.12.13:54433">10.11.12.13:54433</a>" to track the authentication state of each TCP connection.<br><br>My implementation also uses a header called 'Jespa-Connection-Id' that allows the remote address and port to be supplied externally.</div><div>NGINX can use this to act as a proxy for NTLM over HTTP with a config like the following:<br><br>server {<br>    location / { <br>        proxy_pass <a href="http://localhost:8080">http://localhost:8080</a>;<br>        proxy_set_header Jespa-Connection-Id $remote_addr:$remote_port;<br>    }   <br>}<br><br>This works fine.<br><br>Now I want to load balance NTLM through NGINX. For this I used the following:<br><br>upstream backend {<br>    ip_hash;<br>    server localhost:8080;<br>    server localhost:8081;<br>}<br><br>server {<br>    location / { <br>        proxy_pass <a href="http://backend">http://backend</a>;<br>        proxy_set_header Jespa-Connection-Id $remote_addr:$remote_port;<br>    }   <br>}<br><br>This also seems to work fine but I have doubts.<br>Can NGINX use the same TCP connection to a backend server to send requests of different client connections?<br><br>From what I can tell, NGINX seems to create a separate TCP connection for each request.</div><div>If this is always true, then it seems this scheme should work.<br>Can you please confirm that this is how NGINX works?</div><div><br></div><div>More generally, do you see any problems with this scheme?</div><div><br></div><div>I'm not fluent in NGINX but I want to document this as a possible solution for my users.<br><br>Thanks,<br>Mike<br></div><div><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Michael B Allen<br>Java AD DS Integration<br><a href="http://www.ioplex.com/" target="_blank">http://www.ioplex.com/</a></div></div></div>