标签: kong

Kong 为注册的 APIS 返回 404

我已经成功安装了 Kong 并通过 Kong 提供的管理服务映射了一个 API,如下所示: http://kong:8001/apis payload: { "upstream_url": "http://test.suraj.com:9110/" "strip_request_path": true "request_path": "/services_test" "preserve_host": false "name": "services_test" "request_host": "test.suraj.com" }

我可以在对http://kong:8001/apis.

现在我正在尝试使用 kong 访问我的 API 端点,例如: http://kong:8000/services_test/test.json 其返回 404 "requested resource not found" 。

我做错了什么?我无法访问 kong 的日志。谁能告诉我kong在哪里存储日志文件?谢谢你的帮助。PS:所有网址都是虚拟的。

api gateway kong

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

KONG API 网关中的负载平衡

我们在 Kong API 网关后面有多个微服务实例,我们希望在其中平衡用户请求的负载。

假设微服务 1 在多个实例中相乘,这些实例保留在 KONG API 网关后面;在这种情况下,来自用户 1 的请求应命中第一个实例,而来自用户 2 的请求应根据其可用性(负载平衡)命中相同服务的其他实例。(即)我是否可以为 kong 中的单个 API 拥有多个上游 URL。我们不想使用 nginx 进行负载平衡。请建议我们如何解决它。

load-balancing kong

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

与kong集成的微服务的用户注册+身份验证

我正在开发一个基于node.js微服务的应用程序。开发了各个微服务,包括已经处理过身份验证,授权和注册过程的微服务。我正在审查使用kong作为api网关,但是正在寻找有关如何通过kong处理身份验证等方面的说明,但是仍然使用我已经创建的用户服务,该用户服务已经具有关联的数据库。

理想情况下,如果允许kong将身份验证信息传递给用户服务以验证用户的登录凭据(用户名和密码),并让kong生成jwt令牌(如果身份验证成功),我将更愿意。

kong是否可能实现此功能,或者我是否必须以某种方式将所有此功能移至kong,身份验证,授权和注册?

更新资料

我发现以下文章概述了使用自定义身份验证服务器的方法,但这似乎很复杂:Kong API Gateway中的自定义身份验证服务

简而言之,我希望用户将用户名/密码组合传递给kong,该kong将以某种方式上游传递给我已经拥有的用户服务的端点。然后,这将验证用户并确认或拒绝用户/密码正确。从这一点开始,kong将生成jwt并返回给用户。如果可能的话,那就太好了。如果我有一个实现自定义授权服务的工具,它也可以正常工作,但绝对不是首选。:-)

authentication node.js jwt kong

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

kong.conf 文件在哪里?

我按照官方安装指南安装了kong。现在开始我应该给kong.conf文件?我找不到它在哪里。

kong start [-c /path/to/kong.conf]

kong api-gateway

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

Kong API网关的最佳日志记录插件,可利用现有的ELK堆栈日志

谁能帮我从所有可用选项(如 Tcp Log、Udp Log、Http Log、File Log、Syslog、Statsd、Loggly 等)中选择一个可以利用现有 ELK 堆栈日志的 Kong API Gateway 日志插件?

kong kong-plugin elk

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

Kong Ingress Controller - 删除与 Kong 相关的标头

我在 Kubernetes 集群上安装了 Kong,使用 kubernetes-ingress-controller 功能(https://github.com/Kong/kubernetes-ingress-controller)。

我想删除以下 Kong 的相关标题:

  • “X-Kong-上游-延迟”
  • “X-Kong-代理-延迟”
  • “通过”
  • “服务器”

我通过应用以下 KongPlugin 资源尝试使用响应转换器插件:

apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
  name: kong-response-transformer
config:
  remove:
    headers:
    - "X-Kong-Upstream-Latency"
    - "X-Kong-Proxy-Latency"
    - "Via"
    - "Server"
plugin: response-transformer
Run Code Online (Sandbox Code Playgroud)

但只有“服务器”标头从响应中删除。有没有办法通过使用一些自定义资源以“kubernetes-ingress-controller”方式从响应中删除此类标头?

我发现了几个与此问题相关的 GitHub 问题(12),但所有这些问题都涉及更新 Kong 配置文件(/etc/kong/kong.yml)的可能性,老实说,我不知道如何应用此类更改在我的 Kubernetes 环境中。将以下行传递到 ConfigMap 并不能解决问题:

# Add additional response headers
header_filter_by_lua_block {
    kong.header_filter()
    ngx.header["Server"] = nil
    ngx.header["Via"] = nil
    ngx.header["X-Kong-Proxy-Latency"] = nil
    ngx.header["X-Kong-Upstream-Latency"] = nil
}
Run Code Online (Sandbox Code Playgroud)

这有什么帮助吗?谢谢...

编辑:Kong 版本是 2.0.3,kong-ingress-controller 版本是 0.8.1。

response-headers kubernetes kong kong-ingress

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

kong-ingress-controller 的 EXTERNAL_IP 正在等待处理

我已经使用 yaml 文件在 3 节点 k8s 集群(裸机)上安装了 kong-ingress-controller (您可以在问题底部看到该文件),并且一切都已启动并运行:

$kubectl get pods --all-namespaces
NAMESPACE     NAME                                        READY   STATUS    RESTARTS   AGE
default       bar-deployment-64d5b5b5c4-99p4q             1/1     Running   0          12m
default       foo-deployment-877bf9974-xmpj6              1/1     Running   0          15m
kong          ingress-kong-5cd9db4db9-4cg4q               2/2     Running   0          79m
kube-system   calico-kube-controllers-5f6cfd688c-5njnn    1/1     Running   0          18h
kube-system   calico-node-5k9b6                           1/1     Running   0          18h
kube-system   calico-node-jbb7k                           1/1     Running   0          18h
kube-system   calico-node-mmmts                           1/1     Running   0          18h
kube-system   coredns-74ff55c5b-5q5fn                     1/1     Running   0          23h
kube-system   coredns-74ff55c5b-9bbbk                     1/1     Running   0          23h
kube-system   etcd-kubernetes-master                      1/1     Running   1          23h
kube-system …
Run Code Online (Sandbox Code Playgroud)

kubernetes kong kong-ingress

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

在Windows上进行Dockererized Kong操作,显示“从上游服务器收到无效响应”

请在使用Dockerized Kong从REST端点获取数据时收到“从上游服务器收到无效响应”错误消息,请为我提供帮助。

我试图使用Kong访问的REST服务正在本地主机上运行。

要求添加API:

 curl -i -X POST \
--url http://localhost:8001/apis/ \
--data 'name=ping' \
--data 'upstream_url=http://localhost:8080/v1/employee/ping' \
--data 'hosts=localhost'
Run Code Online (Sandbox Code Playgroud)

通过Kong转发请求:

curl -i -X GET \
--url http://localhost:8000/ \
--header 'Host:localhost'
Run Code Online (Sandbox Code Playgroud)

我通过Kong转发请求时出错:

[root@c1c865250782 etc]# curl -i -X GET --url http://localhost:8000/ --
header 'Host:localhost'
HTTP/1.1 502 Bad Gateway
Date: Fri, 29 Dec 2017 08:53:40 GMT
Content-Type: text/plain; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Server: kong/0.11.2

An invalid response was received from the upstream server
Run Code Online (Sandbox Code Playgroud)

请帮我解决这个问题。

谢谢,卡玛尔

java windows docker kong

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

如何使用服务发现配置kong api网关?

我正在研究微服务架构。我想在前端实现一个 kong API 网关。我不想进入 kong admin API 并手动添加所有公开的 API。我可以借助任何服务发现实现(例如 eureka)来将我的 API 自动配置为 Kong 吗?

service-discovery spring-boot netflix-eureka kong

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

在 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
查看次数