У меня есть приложение ASP.NET MVC на IIS.При развертывании новой версии кода мое приложение не отвечает на запросы от 10 секунд до нескольких минут.Это плохо.(может быть, вы знаете, как это решить проще?)
Я поставил nginx перед IIS и настроил прокси все запросы к приложению IIS.Затем я создал новое приложение с тем же кодом в IIS (1.dev и 2.dev).Nginx установил запрос к обоим приложениям с помощью циклического перебора.
Все работают, но аутентификация теряется после одного правильного запроса.Второй ответ получают с ошибкой аутентификации.Я проверил, как форма auth в mvc создает файлы cookie для аутентификации и обнаружил, что .ASPXAUTH
- это зашифрованный логин с ключом machineKey
.
Я сгенерировал machineKey
и установил его для обоих приложений.Когда я устанавливаю cookie .ASPXAUTH
из одного приложения (1.dev.domain.ru) во второе приложение (2.dev.domain.ru) с датой истечения срока действия - все работает хорошо.
Но dev.domain.com - не работает до сих пор.
Что я даю неправильно?
PS: В каждомПривязки приложения IIS имеют:
- X.dev.domain.ru
- dev.domain.ru, где X - 1 или 2.
nginx config- proxy_pass
до upstream
и содержит следующие параметры:
location / {
proxy_pass http://dev;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
}