我有一个使用VS2017和IIS Express10在本地编写和测试的web api应用程序,在本地运行时可以使用HTTPS或HTTPS进行POST和GET。当我发布到Azure时,我得到的方法不允许在post和get上通过HTTP。
如何配置Azure服务器以允许所有HTTP谓词?
如何在Azure上配置HTTPS则是另一回事……
谢谢:-)
发布于 2021-02-01 19:02:52
我遇到了类似的问题,这里的解决方案起作用了。只需在调用中将http更改为https并测试结果即可。例如,在postman中,仅将http更改为https。
Azure App Service Error 405 - The request could not be completed. (Method Not Allowed)
发布于 2017-06-27 20:55:31
我假设您的web应用程序使用了js库/框架(react / angular)。通常在请求之前,他们使用"Options“动词发送一个印前检查CORS请求。我相信它就是被屏蔽的那个。
解决这个问题的一个简单方法是:
Web.config:
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Methods" value="GET, PUT, POST, DELETE, HEAD" />
<add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" />
</customHeaders>
</httpProtocol>
</system.webServer>BaseApiController.cs:
public class BaseApiController : ApiController
{
public HttpResponseMessage Options()
{
return new HttpResponseMessage { StatusCode = HttpStatusCode.OK };
}
}如果是跨域问题,您可以直接通过Azure门户配置CORS:
https://docs.microsoft.com/en-us/azure/app-service-api/app-service-api-cors-consume-javascript
发布于 2020-02-18 19:12:11
请检查您是否正确传递了参数。浪费了很多时间来弄清楚这点。
https://stackoverflow.com/questions/44776644
复制相似问题