当前位置: 首页 > 知识库问答 >
问题:

. Net Core Web API在从超文本传输协议转换为https后无法验证标识服务器的请求

巢安澜
2023-03-14

我有一个IdentityServer 3应用程序,它负责身份验证/授权和令牌验证。我们有一个. net core 3.0 web api,它通过来自前端angular js应用程序的请求来处理用户和角色管理功能。它在http世界里一切正常。一旦我们开始使用自签名证书并将所有这些应用程序(IdentityServer3,.Net Core app(它与IdentityServer讨论用户身份相关和令牌验证相关的事情)和angular js)到IIS上的HTTPS。我们开始看到一个问题,identityserver3帮助用户验证,但后来当UI (angular app)试图向发送GET请求时。net核心应用程序,通常获得登录用户的详细信息是不行的,这一点。net core app为每个web api请求与IdentityServer对话以验证令牌,它给出404错误。下面是日志中的错误。

2020年4月16日14:15:59.335-04:00[错误]IDX20803:无法从以下位置获取配置:“[PII已隐藏。有关详细信息,请参阅https://aka.ms/IdentityModel/PII.]'. 系统InvalidOperationException:IDX20803:无法从“”获取配置[PII已隐藏。有关详细信息,请参阅https://aka.ms/IdentityModel/PII.]'. ---

共有1个答案

饶德元
2023-03-14

当我访问URL时收到此错误:https://[你的服务器]/. weer-的/openid-配置来获取OpenId配置。

  1. 检查您的https证书是否有效。
  2. 检查您的https证书是否受API服务器的信任(如果它是自签名证书-使用自定义CA生成并将此CA信任到您的API服务器中)
  3. 使用CURL检查容器/服务器和身份服务器之间的流量是否允许。在我的例子中,我遇到了CentOS防火墙阻止我的容器到我的公共接口之间的流量的情况。我解决了为这个流量创建适当的防火墙规则的问题。

最好的测试方法是:尝试使用命令行工具:“curl”从您的API服务器或容器中获取HTTPS身份服务器url。您不会得到任何错误(证书、证书服务器名称)。

 类似资料:
  • httpd是Apache超文本传输协议(HTTP)服务器的主程序。被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。 通常,httpd不应该被直接调用,而应该在类Unix系统中由apachectl调用,在Windows NT/2000/XP/2003中作为服务运行和在Windows 95/98/ME中作为控制台程序运行. 语法 httpd [ -d serverroot ]

  • 我已经安装了Apache 2.2负载平衡器和Weblogic 12c服务器。 我观察到一个https URL试图在我的应用程序中打开一个http URL,但没有成功,正如预期的那样。我搜索了一下为什么这会导致问题,并注意到了一些问题- http://geekexplains.blogspot.in/2008/06/https-becoming-http-in-case-of.html 当我试图寻找

  • 我想测试一个连接到Github api的应用程序,下载一些记录并对其进行处理。我想要一个模拟对象,我做了如下操作: 看起来不错吧?我应该在thenReturn中输入什么(它需要HttpResponse,但我不知道如何创建)。谢谢你的回答。如果你有更好的想法,我将不胜感激。 更新:字符串响应是一个示例响应

  • 我正在使用GWT和Spring controller来管理http流量。有些请求可能需要很长时间,但我希望在超过给定时间时终止请求。 我如何配置超时Spring。我也使用Apache Tomcat 7.0。我试图在tomcat上inrease最大线程,但有一段时间tomcat工作缓慢,因为请求线程不会死。

  • 我用Go编写了一个简单的服务器: 以及一个用Python编写的用于测试的简单客户端。以下是代码: 每次客户端访问服务器时,服务器都会产生这个错误: 我知道如何在Go中处理JSON Post请求 Python版本==3.4 Go版本==1.7 先谢谢你。

  • 名为charles的工具中有一个功能,允许您映射远程请求: http://www.charlesproxy.com/documentation/tools/map-remote/ 基本上,它可以将任何请求发送到服务器(即使不是运行它的人),然后向另一台服务器发出新请求,保留路径和查询字符串。然后,来自第二台服务器的响应将覆盖来自第一台服务器的响应。 我只是想知道是否有一个节点模块可以做到这一点。我