【发布时间】:2022-01-18 20:07:30
【问题描述】:
我花了一整天的时间试图找到解决方案,并在这些 SOF 帖子here、here 和 here 中尝试了几乎所有最高票数的答案。
所以情况如下:
- GET 和 POST 请求工作正常
- PUT 请求抛出 403,如下所示
我们目前没有任何 DELETE 请求来测试这是否也有效
我们有两个存储库 (1) 后端 API - 使用 .Net Core 3.1 和 (2) Vue3/typescript/Axios 客户端,部署到两个域,api 到 my-api.blahblah.com 和 web 客户端到 www.blahblah.com。也许相关或不相关,但它位于运行 Windows Server 2019 和 IIS10 的 VPS 上。有两个独立的原因是让它们独立部署,独立的管道设置并正常工作。
startup.cs 中的 CORS 设置如下所示,我根据上面 SOF 链接的答案尝试了不同的变体:
services.AddCors(options =>
{
options.AddPolicy("CorsPolicy", policy =>
{
policy
.AllowAnyOrigin()
.AllowAnyHeader()
.AllowAnyMethod();
});
});
...
app.UseCors("CorsPolicy");
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
希望我已经添加了足够的信息,但如果我遗漏了什么,请告诉我。
我觉得我错过了一些非常微不足道的东西来让 PUT 请求工作,但也许是我糟糕的一天。
提前致谢。
编辑 1:附加信息
- 通过 POSTMAN 的请求也以 403 失败。
- 应用程序在本地 IIS(开发机器)上运行良好。
编辑 2:
- DELETE 无法正常工作,引发相同的 CORS 错误
- 这不是身份验证问题,因为我将 [AllowAnnonymous] 放置在 API 中的几个 PUT 和 DELETE 端点上并重新部署它,但仍然遇到与以前相同的错误
- 允许匿名访问下面的 PUT 端点后来自 IIS 的最后一些条目(PUT 上的通知 403):
2021-12-15 19:29:37 SERVER_IP_REDACTED GET /api/employeeAddress PageIndex=0&PageSize=10 443 - MY_IP_REDACTED HTTP/2 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/xx.xx.xx.xx+Safari/537.36 https://WEBSITE_NAME_REDACTED/ MY_API 200 0 0 718 1558 364
2021-12-15 19:29:49 SERVER_IP_REDACTED OPTIONS /api/employeeAddress/10 - 443 - MY_IP_REDACTED HTTP/2 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/xx.xx.xx.xx+Safari/537.36 https://WEBSITE_NAME_REDACTED/ MY_API 204 0 0 305 623 70
2021-12-15 19:29:49 SERVER_IP_REDACTED GET /api/employeeAddress/10 - 443 - MY_IP_REDACTED HTTP/2 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/xx.xx.xx.xx+Safari/537.36 https://WEBSITE_NAME_REDACTED/ MY_API 200 0 0 393 1537 95
2021-12-15 19:29:55 SERVER_IP_REDACTED OPTIONS /api/employeeAddress/10 - 443 - MY_IP_REDACTED HTTP/2 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/xx.xx.xx.xx+Safari/537.36 https://WEBSITE_NAME_REDACTED/ MY_API 204 0 0 318 636 84
2021-12-15 19:29:55 SERVER_IP_REDACTED PUT /api/employeeAddress/10 - 443 - MY_IP_REDACTED HTTP/2 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/xx.xx.xx.xx+Safari/537.36 https://WEBSITE_NAME_REDACTED/ MY_API 403 0 0 1452 1712 74
编辑 3 EmployeeAddressController 截图按要求:
【问题讨论】:
-
请显示employeeAddress方法
-
@Mustafa 请参阅编辑 3,添加了屏幕截图。
-
根据您的描述很难重现您的问题,建议您通过support.microsoft.com开一个案例。
-
如果它在本地 IIS 上运行良好,那么您应该检查部署服务器上的任何最新更改。可能是应用程序目录权限的更改导致了这种情况。
-
嗨@Oleh,请在下面查看我的回答
标签: vue.js axios cors asp.net-core-3.1 iis-10