我在node/express中运行HTTPS网关API,并获得了GoDaddy的认证。网关将主机用于证书,并在特定端口上运行(不是443,例如8080)。
我可以通过各种方式(cURL、邮递员、示例客户端)访问API,它的响应很好。
但是,由于这是一个网关API,旨在访问我们网络上的其他API微服务,因此当我在网关API中访问旨在调用微服务的路由时,我会收到错误“无法验证第一个证书”。
微服务与网关API位于同一主机上,并使用相同的HTTPS证书,但监听的端口不同。
我可以通过HTTPS直接点击微服务,没有任何问题,这个错误只有在我通过网关API点击微服务时才会出现。
当我使用微服务HTTP时,HTTPS网关从微服务获得成功响应。
这里的任何启示都是惊人的。我对SSL证书还很陌生,我真的很想了解这里的问题是什么。我看过其他关于stackoverflow的类似文章,但我遇到的答案并没有给我提供需要完全理解的背景。
我得到了一个可行的解决方案,我从这篇文章中得到了用户sch的解释来感谢:
错误:无法验证nodejs中的第一个证书
我按照他的指示到达了T,最终使用ssl根CA来适当地设置pem链。
简而言之,应该在哪里执行输入验证和身份验证验证?在 API 网关和每个微服务中?仅在 API 网关中?仅在每个微服务中? 也许部分在api网关中,部分在每个网关中? 谢谢你的回答!
在微服务体系结构中,有一种称为API网关的常见模式。 我知道所有来自API网关外部的通信都被用作单个入口点。 但是我也希望从微服务到微服务的内部通信是通过API网关进行的?我的意思是,这比建立点对点连接要容易得多。 那么,是什么反对将API网关也用于整个内部通信呢?
我想通过无服务器设置API网关的Request Validator。我尝试了两种不同的Request Validator设置。但是,两种方法都失败了。我已经总结了我所做的,所以如果有问题请告诉我。 我用swagger(OAS3.0)编写了API规范。因此,我尝试使用OAS扩展实现Request Validator的设置。在我使用下面的和部署了
我正在使用Node JS和Express创建一个微服务架构。我知道微服务的主要特点之一是面向服务的体系结构,团队可以独立设计、开发和发布应用程序。因此,在我的设计中,我认为每个微服务都提供了自己的API,它们通过API相互通信,每个微服务都是独立的,有自己的生命在等待请求。 我写这个问题是因为我对微服务之间的身份验证和通信有几个疑问。 对于自动认证,我用JWT做了一些测试来认证微服务的应用编程接口
我在AWS上托管了几个微服务(Springdge)。例如,让我们假设Service1和Service2是两个微服务。Service1是前端和移动应用程序访问的微服务。Service1调用Service2。Service2完全是内部的。 我已经设置了位于Service1前面的Amazon API网关。我使用cognito配置了身份验证(Oauth)。 这一切都在起作用。当从前端/应用程序调用时,请求