Por padrão, o NGINX não usa keep-alive em conexões upstream e isso pode causar o problema de autenticação, já que as conexões TCP não são mantidas. Eu tentaria ligar o keepalive. Consulte o link
Eu tenho a seguinte configuração no meu arquivo conf Nginx (1.2.6 no Windows 7):
location ~ ^/FOO/(.*)$ {
proxy_pass http://server_two:8888/FOO/$1;
}
Em server_two
, tenho o IIS7 executando um serviço WCF que usa autenticação básica. Quando visito http://server_two:8888/FOO/Service.svc?wsdl
, obtenho o endpoint correto.
Quando visito http://myhost/FOO/Service.svc?wsdl
, recebo uma caixa de usuário / senha que aparece. Eu posso inserir minhas credenciais até as vacas chegarem em casa e ainda nada. Eu também tentei o seguinte:
location ~ ^/FOO/(.*)$ {
proxy_pass http://server_two:8888/FOO/$1;
proxy_set_header Host $host;
proxy_set_header X-Accel-Expires 0;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
E várias outras variantes, mas ainda não consegui fazer o processo de login funcionar. Isso é possível com o Nginx? O que estou perdendo?
Esqueci de mencionar que o IIS está configurado para fazer um desafio HTTP 401 para a autenticação do Windows
Por padrão, o NGINX não usa keep-alive em conexões upstream e isso pode causar o problema de autenticação, já que as conexões TCP não são mantidas. Eu tentaria ligar o keepalive. Consulte o link
Tags nginx reverse-proxy iis-7