.Net Core 3.1 和 Angular 中的应用程序在本地完美运行。我托管了托管提供商之一的相同应用程序。
我收到错误“403 - 禁止:访问被拒绝。”用于 Web api 响应中的 PUT 和 DELETE 方法。我不知道为什么 GET 和 POST 方法在同一个应用程序中工作。
带有 IIS 的 ASP.NET Core - 不允许使用 HTTP 动词
上面的链接有一些相同的问题,但出现 405 错误。同一线程中给出的解决方案也尝试过,但对我不起作用。
请帮忙。
你的前端是有角度的吗?如果是,您必须添加身份验证承载标头才能正确放置和删除。
这段代码对我有用。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<modules runAllManagedModulesForAllRequests="false">
<remove name="WebDAVModule" />
</modules>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\XXXXXXXXXXX.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
</system.webServer>
</location>
</configuration>
如果您使用 MOD Security,请检查您的日志。除了阻止 PUT、PATCH、DELETE 的规则之外。
我向我的托管提供商提出了一张罚单。他们做了一些设置,之后工作正常。