通过 SSL 调用 Web Api 时出现 403 禁止错误
Posted
技术标签:
【中文标题】通过 SSL 调用 Web Api 时出现 403 禁止错误【英文标题】:403 Forbidden Error when calling Web Api over SSL 【发布时间】:2021-12-26 17:44:06 【问题描述】:我有一个在 IIS 上运行的标准 C# Web Api,它有一个自定义 AuthorizeAttribute 以通过请求标头变量中的键正确授权调用。最近,我的一个客户通过 SSL 调用 API 开始失败,并出现 403 Forbidden 错误。他调用非SSL url时成功。
相同的调用 - 相同的 url、api 密钥等在我的机器上通过 SSL 完美运行,我的其他客户端都没有遇到任何问题。这个特定客户可能有什么问题?我已经检查了一些基本的东西,比如他的客户端机器时间设置等等。不知道这是否可能是某种证书相关的问题?
【问题讨论】:
当您的客户端调用 API 时,您是否检查了请求标头中的密钥是否存在于服务器上?也许客户公司的公司代理会删除自定义请求标头 【参考方案1】:尝试以下方法:
1- 检查他机器上的代理
2- 由于 SSL 用于保护数据和安全,因此数据不应以服务器上的方式更改。机器上的病毒可能会改变它(我的一个客户也有同样的问题)确保他的系统是干净的
3- 考虑以其他方式调用 API,例如(邮递员、浏览器...)
根据你写的清楚,他的机器有问题。如果你发现问题也很高兴告诉我
【讨论】:
显然没有代理,呼叫故障转移邮递员并通过他们的应用程序。我可以看到调用确实通过 SSL 访问了我的应用程序,但缺少所需的标头密钥。但是通过 http 的相同调用可以正常工作。以上是关于通过 SSL 调用 Web Api 时出现 403 禁止错误的主要内容,如果未能解决你的问题,请参考以下文章
尝试在 Web API 请求上检索 Azure Blob 时出现 403 错误
在局域网中的其他计算机上使用 Web API 时出现 403 禁止访问被拒绝错误