我按照教程https://docs.konghq.com/install/docker/?_ga=2.46631079.1600317329.1601919139-2083746525.1601653016
在 Docker 中运行 Kong API 网关
docker network create kong-net
docker run -d --name kong-database --network=kong-net -p 5432:5432 -e "POSTGRES_USER=kong" -e "POSTGRES_DB=kong" -e "POSTGRES_PASSWORD=kong" postgres:9.6
docker run --rm --network=kong-net -e "KONG_DATABASE=postgres" -e "KONG_PG_HOST=kong-database" -e "KONG_PG_USER=kong" -e "KONG_PG_PASSWORD=kong" -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" kong:latest kong migrations bootstrap
docker run -d --name kong --network=kong-net -e "KONG_DATABASE=postgres" -e "KONG_PG_HOST=kong-database" -e "KONG_PG_USER=kong" -e "KONG_PG_PASSWORD=kong" -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" -e "KONG_PROXY_ACCESS_LOG=/dev/stdout" -e "KONG_ADMIN_ACCESS_LOG=/dev/stdout" -e "KONG_PROXY_ERROR_LOG=/dev/stderr" -e "KONG_ADMIN_ERROR_LOG=/dev/stderr" -e "KONG_ADMIN_LISTEN=0.0.0.0:8001, 0.0.0.0:8444 ssl" -p 8000:8000 -p 8443:8443 -p 127.0.0.1:8001:8001 -p …Run Code Online (Sandbox Code Playgroud) 我想用Gradle,Spring Boot2,Zuul,JWT,带有REST-Api的微服务和自制认证服务器来设置SSO微服务环境.当身份验证服务器,网关和微服务充当OAuth客户端和资源服务器时,它们的注释是什么?什么是最小化设置?
我在使用 .NET Core 3.0 实现 Ocelot 时遇到问题,当我尝试在我的程序类中添加 ocelot(按照文档指定应该执行的操作)时,vs2019 显示了此错误:
“IServiceCollection”不包含“AddOcelot”的定义或接受“IServiceCollection”类型的第一个参数的可访问扩展方法“AddOcelot”(是否缺少任何使用指令或程序集引用?),
UseOcelot()方法也会重复此错误
public class Program
{
public static void Main(string[] args)
{
new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.ConfigureAppConfiguration((context, config) =>
{
config
.SetBasePath(context.HostingEnvironment.ContentRootPath)
.AddJsonFile("appsettings.json", true, true)
.AddJsonFile($"appsettings.{context.HostingEnvironment.EnvironmentName}.json", true, true)
.AddJsonFile("ocelot.json")
.AddEnvironmentVariables();
}).ConfigureServices(s => {
s.AddOcelot().AddConsul();
}).ConfigureLogging((hostingContext, logging) =>
{
logging.AddConsole();
})
.UseIIS()
.Configure(app =>
{
app.UseOcelot().Wait();
})
.Build().Run();
}
}
Run Code Online (Sandbox Code Playgroud)
我该怎么解决这个错误?,我已经安装了 Nuget 包 Ocelot 版本 13.8.0 和 Ocelot.Provider.Consul 版本 13.8.0。
我们正在尝试根据https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-routes.html利用 AWS API 网关中的 $default 路径
像这样配置 api 网关,利用$default 作为路由之一
/
/-default
ANY
/api
/{proxy=}
Run Code Online (Sandbox Code Playgroud)
当我们尝试在$default路径和 GET 调用上调用 api 网关时
https://apigateway.amazonaws.com/prod/test
Run Code Online (Sandbox Code Playgroud)
我们假设它会调用默认路径,但它没有
message: "Missing Authentication Token"
Run Code Online (Sandbox Code Playgroud)
但是当我们这样做时
https://apigateway.amazonaws.com/prod/api/test
Run Code Online (Sandbox Code Playgroud)
该API集成时调用
注意:我们已经尝试配置贪婪路径{proxy+}而不是 $default ,因为贪婪路径总是优先并且 /api 路由也被路由到贪婪路径
社区为我们指明正确方向的任何帮助都会有很大帮助
amazon-web-services aws-api-gateway api-gateway amazon-api-gateway
我使用 openapi yaml 文件作为配置应用了 Google 的 API 网关,并收到了新的网关 URL。
我的问题是,如果原始 Cloud Run URL 仍然可以访问,那么网关还有什么意义?
我可以对网关 URL 和 Cloud Run URL 进行完全相同的 Postman 调用,例如https://gateway.api.url.google.com/orders和 https://cloud.run.url.google.com/orders。
我的假设(也是希望)是网关 URL 现在是主 URL,并且对 Cloud Run URL 的任何请求都会路由到 API 网关。任何人都可以阐明这一点吗?
举个例子,假设我正在构建一个简单的社交网络。我目前有两项服务:
Identity,管理用户、他们的个人数据(电子邮件、密码哈希等)及其公共配置文件(用户名)和身份验证Social,管理用户的帖子、朋友和动态该Identity服务可以使用其 API 提供用户的公共资料/api/users/{id}:
// GET /api/users/1 HTTP/1.1
// Host: my-identity-service
{
"id": 1,
"username": "cat_sun_dog"
}
Run Code Online (Sandbox Code Playgroud)
该Social服务可以在以下位置发布其 API 的帖子/api/posts/{id}:
// GET /api/posts/5 HTTP/1.1
// Host: my-social-service
{
"id": 5,
"content": "Cats are great, dogs are too. But, to be fair, the sun is much better.",
"authorId": 1
}
Run Code Online (Sandbox Code Playgroud)
这很好,但我的客户端(一个 Web 应用程序)希望显示带有作者姓名的帖子,并且它最好在一个 REST 请求中接收以下 JSON 数据。
{
"id": 5,
"content": "Cats are great, dogs are too. …Run Code Online (Sandbox Code Playgroud)