В моем файле конфигурации Nginx (1.2.6 в Windows 7) есть следующие настройки:
location ~ ^/FOO/(.*)$ {
proxy_pass http://server_two:8888/FOO/$1;
}
На server_two
У меня есть IIS7, на котором запущена служба WCF, использующая обычную проверку подлинности. Когда я приезжаю http://server_two:8888/FOO/Service.svc?wsdl
Я получаю правильную конечную точку.
Когда я приезжаю http://myhost/FOO/Service.svc?wsdl
Я получаю всплывающее окно пользователя / пароля. Я могу вводить свои учетные данные, пока коровы не вернутся домой, а все еще ничего. Я также пробовал следующее:
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;
}
И несколько других вариантов, но я пока не могу заставить работать процесс входа в систему. Возможно ли это с Nginx? Что мне не хватает?
Я забыл упомянуть, что IIS настроен на выполнение HTTP 401 Challenge для проверки подлинности Windows.
По умолчанию NGINX не использует поддержку активности для восходящих соединений, и это может вызвать проблему аутентификации, поскольку TCP-соединения не поддерживаются. Я бы попробовал включить поддержку активности. Видеть http://nginx.org/en/docs/http/ngx_http_upstream_module.html