WebApi 无法在 Server 2016 IIS10 上运行,但可以在其他所有版本的服务器操作系统上运行

WebApi 无法在 Server 2016 IIS10 上运行,但可以在其他所有版本的服务器操作系统上运行

我正在尝试让一个用 .net 编写的应用程序运行 - 目标是 4.5.2,它使用 webapi 调用 .js 表单

该 API 在 Server 2012r2 IIS 8.5 中运行良好,但在 Server 2016 IIS 中无法运行 - 抛出 401 未授权错误。

网站应用程序采用 https 和 SSL 证书,主应用程序运行良好,只是 API 出现故障。

该API需要授权,继承自system.web.http.authorizeattribute

授权通过加密字符串作为令牌传递到 HTTP 标头中。

2012 和 2016 服务器上的 IIS 站点配置相同。目录权限等都相同。应用程序正在使用应用程序池标识,并且该应用程序池对 Web 根目录具有读取权限。

两台服务器上都安装了.net 4.7。

此时两个服务器都已启用 TLS 1.0、1.1 和 1.2(一旦我们让 API 在 2016 年正常运行,就想禁用 1.0)

如果我从站点删除 https 并将其转换为 http,则 api 可以正常调用表单。

如果我运行 fiddler 并调用 api,那么表单就会被正常调用,因为 fiddler 使用 SSLv3.0 和 TLS 1.0 拦截 https 流量

如果在 https 上我在笔记本电脑的浏览器中禁用 TLS 1.1 和 1.2,然后从应用程序调用 api,则表单将显示正常。

我现在已经完全走进了死胡同。

附言 - 我不是开发人员,而是服务器管理员,因此编码知识为零!我所知道的是,除了 Server 2016 和 IIS 10 之外,它在所有其他平台上都运行良好。

请问有人知道我接下来可以去哪里吗?

提前谢谢了

相关内容