【问题标题】:Incorrect Cookie Domain AspNetCore 3.0 Linux不正确的 Cookie 域 AspNetCore 3.0 Linux
【发布时间】:2020-07-04 22:27:16
【问题描述】:

我最近尝试将 ASP.NET core 3.0 应用程序从 Windows 服务器移动到 Linux 服务器。 应用程序与另一个网站共享 cookie 身份验证,因此 cookie 域需要是通配符才能在子域之间共享,即 .example.com

这在 Windows 服务器上运行良好,https://sub.example.com 的 cookie 域设置为 .example.com

但是,当我登录 Linux 服务器时,cookie 域由于某种原因被设置为子域。例如,https://sub-test.example.com 的 cookie 域是 .sub-test.example.com,然后不会与 https://sub.example.com 共享,因此会出现问题。

我检查了浏览器中的网络选项卡,并且 set-cookie 标头有“domain=.sub-test.example.com”,所以我确信这是服务器端问题。

在 Startup.cs 中,我已经硬编码了我想要的域通配符,但它在 Linux 上没有得到认可。

services.ConfigureApplicationCookie(opt =>
{
    opt.Cookie.Domain = ".example.com";
}

不确定我还能尝试什么。

【问题讨论】:

    标签: asp.net-core cookies cross-domain asp.net-core-3.0


    【解决方案1】:

    听起来像是反向代理的问题,它可能会覆盖您在那里设置的设置。看看这个帖子:URL Rewrite keeps original host Location when reverse proxy 301 redirects

    【讨论】:

    • 非常感谢!不敢相信这是问题所在,很高兴解决了:)
    猜你喜欢
    • 2011-03-12
    • 2014-12-21
    • 2020-01-26
    • 1970-01-01
    • 2018-11-30
    • 2020-11-08
    • 2016-11-06
    • 2013-02-11
    相关资源
    最近更新 更多