我在IIS上有ASP.NET MVC应用程序。 当我部署新版本的代码时,我的应用程序不会响应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应用程序中,绑定具有:
nginx配置-从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;
}
答案 0 :(得分:0)
我克服了这个问题。
如果WebSecurity.Logout()
被异常处理,则我在代码中进行了User.UserInRole(..)
操作。
我评论了这一行,现在一切正常。