我创建了具有几个无状态和有状态服务的Azure服务结构应用程序。我的所有有状态服务都可以通过Web Api无状态服务进行访问。现在,我已将Ocelot API网关添加到另一个无状态Web api服务,并且我只想从该网关访问我的所有服务。现在,当我尝试从我的API网关服务访问服务时,它会显示404。
Ocelot配置
{
"ReRoutes": [
{
"DownstreamPathTemplate": "/api/product/seed",
"DownstreamScheme": "http",
"UpstreamPathTemplate": "/api/product/randomize",
"UpstreamHttpMethod": [ "Get" ],
"DownstreamHostAndPorts": [
{
"Host": "http://localhost:8314"
}
],
"QoSOptions": {
"TimeoutValue": 360000
}
}
],
"GlobalConfiguration": {
"BaseUrl": "http://localhost:8445"
}
}
我在这里想念什么?
答案 0 :(得分:0)
如果在本地调试,则无需在主机配置人员上添加协议方案和端口,则可以从Host值中忽略HTTP流量,并为该端口包含一个同级属性(请参见下面的示例) ):
:q
顺便说一句,我已经编写了有关API网关和ASP.net Core + Ocelot的API网关教程,如果您想了解有关API网关的更多信息,则可能需要查看以下文章:
https://www.pogsdotnet.com/2018/08/api-gateway-in-nutshell.html
希望有帮助!
艾伦