【发布时间】: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