标签: api-gateway

在 Docker 中运行 Kong,Kong 在 Web 浏览器中不显示 GUI

我按照教程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)

docker microservices kong api-gateway

2
推荐指数
1
解决办法
4498
查看次数

安全的微服务环境的最小设置

我想用Gradle,Spring Boot2,Zuul,JWT,带有REST-Api的微服务和自制认证服务器来设置SSO微服务环境.当身份验证服务器,网关和微服务充当OAuth客户端和资源服务器时,它们的注释是什么?什么是最小化设置?

single-sign-on jwt spring-boot api-gateway

1
推荐指数
1
解决办法
445
查看次数

“IServiceCollection”不包含“AddOcelot”的任何定义

我在使用 .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。

c# api-gateway ocelot .net-core-3.0

1
推荐指数
1
解决办法
1552
查看次数

如何在 AWS API 网关中配置 $default 路径?

我们正在尝试根据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

1
推荐指数
1
解决办法
1512
查看次数

为什么应用 API Gateway 后 Cloud Run URL 仍然可以访问?

我使用 openapi yaml 文件作为配置应用了 Google 的 API 网关,并收到了新的网关 URL。

我的问题是,如果原始 Cloud Run URL 仍然可以访问,那么网关还有什么意义?

我可以对网关 URL 和 Cloud Run URL 进行完全相同的 Postman 调用,例如https://gateway.api.url.google.com/ordershttps://cloud.run.url.google.com/orders

我的假设(也是希望)是网关 URL 现在是主 URL,并且对 Cloud Run URL 的任何请求都会路由到 API 网关。任何人都可以阐明这一点吗?

api-gateway google-cloud-run google-api-gateway

1
推荐指数
1
解决办法
970
查看次数

数据复制或 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)

eventual-consistency microservices asp.net-core api-gateway

1
推荐指数
1
解决办法
1487
查看次数