403 禁止错误 - IIS 8
403 Forbidden Error - IIS 8
我在 Windows 2012 服务器上使用 IIS 8。我有一个站点设置为自定义端口 (4443) 上的 HTTPS 流量的 API。我已经安装了通配符 SSL 证书,它运行正常。我们的网络防火墙在内部将端口 4443 上的所有 public 入站流量路由到此服务器,然后由 IIS 处理。
从服务器本身来看,一切正常。我没有使用本地主机,也没有主机文件条目在内部循环回流量。去 https://api.blahblahblah.com:4443 returns 我想要的。
但是,从网络外部,我收到 403 Forbidden 错误。我知道流量正在到达服务器,因为我得到了我在该服务器上设置的正确的自定义 "X-Powered-By" 响应 header。
我已经尝试设置包含站点文件的文件夹的权限以允许完全控制"Everyone",但没有成功。该站点为用户 "IUSR" 启用了匿名身份验证。目录浏览已禁用。
这是怎么回事?我假设这是文件系统的权限错误,但我认为拥有 Everyone 权限可以消除这种情况。此外,就经过身份验证的 session 或其他内容而言,内部流量(来自服务器本身)没有什么特别之处。这只是一个没有花里胡哨的简单请求。
请帮忙!谢谢
=======更新=======
这是一个显示子状态代码 16 的示例日志条目:
2018-02-08 17:56:58 10.1.10.11 GET /favicon.ico - 4443 - 184.4.143.229 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/63.0.3239.132+Safari/537.36 https://api.blahblahblah.com:4443/data/countyList 403 16 2148204809 97
显然这是客户端证书信任问题?经过进一步测试,我可以在另一台设备上毫无问题地访问该站点,而不是我的主要开发 PC。
我刚刚在 SSL 设置中将网站设置为忽略客户端证书,它再次按预期工作。
由于多种原因,可能会出现 403 错误。您能否分享子状态代码。您可以在 IIS 日志中找到它。默认位置 - C:\inetpub\logs\logfiles\w3svc_websiteID.
获得子状态代码后,请在此处分享。
您也可以按照这篇文章抓取 FREB 日志 - https://docs.microsoft.com/en-us/iis/troubleshoot/using-failed-request-tracing/troubleshooting-failed-requests-using-tracing-in-iis
只需修改本文中的第 10 步,不要取消选中您的情况中的任何内容(保留所有默认值)。这将清楚地告诉您 IIS 管道中发生了什么。
如果是 403.14,只需在 IIS 中添加默认文档即可。
我在 Windows 2012 服务器上使用 IIS 8。我有一个站点设置为自定义端口 (4443) 上的 HTTPS 流量的 API。我已经安装了通配符 SSL 证书,它运行正常。我们的网络防火墙在内部将端口 4443 上的所有 public 入站流量路由到此服务器,然后由 IIS 处理。
从服务器本身来看,一切正常。我没有使用本地主机,也没有主机文件条目在内部循环回流量。去 https://api.blahblahblah.com:4443 returns 我想要的。
但是,从网络外部,我收到 403 Forbidden 错误。我知道流量正在到达服务器,因为我得到了我在该服务器上设置的正确的自定义 "X-Powered-By" 响应 header。
我已经尝试设置包含站点文件的文件夹的权限以允许完全控制"Everyone",但没有成功。该站点为用户 "IUSR" 启用了匿名身份验证。目录浏览已禁用。
这是怎么回事?我假设这是文件系统的权限错误,但我认为拥有 Everyone 权限可以消除这种情况。此外,就经过身份验证的 session 或其他内容而言,内部流量(来自服务器本身)没有什么特别之处。这只是一个没有花里胡哨的简单请求。
请帮忙!谢谢
=======更新=======
这是一个显示子状态代码 16 的示例日志条目:
2018-02-08 17:56:58 10.1.10.11 GET /favicon.ico - 4443 - 184.4.143.229 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/63.0.3239.132+Safari/537.36 https://api.blahblahblah.com:4443/data/countyList 403 16 2148204809 97
显然这是客户端证书信任问题?经过进一步测试,我可以在另一台设备上毫无问题地访问该站点,而不是我的主要开发 PC。
我刚刚在 SSL 设置中将网站设置为忽略客户端证书,它再次按预期工作。
由于多种原因,可能会出现 403 错误。您能否分享子状态代码。您可以在 IIS 日志中找到它。默认位置 - C:\inetpub\logs\logfiles\w3svc_websiteID.
获得子状态代码后,请在此处分享。
您也可以按照这篇文章抓取 FREB 日志 - https://docs.microsoft.com/en-us/iis/troubleshoot/using-failed-request-tracing/troubleshooting-failed-requests-using-tracing-in-iis
只需修改本文中的第 10 步,不要取消选中您的情况中的任何内容(保留所有默认值)。这将清楚地告诉您 IIS 管道中发生了什么。
如果是 403.14,只需在 IIS 中添加默认文档即可。