Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
  • 06:15
    GarinQian commented #6161
  • 00:07
    javierguerragiraldez synchronize #7964
  • 00:07

    javierguerragiraldez on bump_go-pdk

    add to CHANGELOG.md (compare)

  • 00:01
    javierguerragiraldez edited #7973
  • 00:00
    javierguerragiraldez opened #7973
  • 00:00

    javierguerragiraldez on changelog-update-merged

    docs(changelog) document alread… (compare)

  • Oct 19 20:37
    rainest commented #7771
  • Oct 19 19:33
    bungle labeled #7968
  • Oct 19 19:33
    bungle labeled #7968
  • Oct 19 11:23
    kikito edited #7972
  • Oct 19 11:21
    kikito opened #7972
  • Oct 19 11:21

    kikito on changelog-upcoming

    docs(changelog) document upcomi… (compare)

  • Oct 18 20:41
    sgrzemski commented #7967
  • Oct 18 20:40
    sgrzemski commented #7967
  • Oct 18 19:59
    rainest commented #7967
  • Oct 18 19:14
    rainest commented #7967
  • Oct 18 18:48
    sgrzemski commented #7967
  • Oct 18 18:46
    sgrzemski commented #7967
  • Oct 18 18:13
    rainest commented #7967
  • Oct 18 17:29
    esatterwhite commented #7930
Compile Source report missing method 'ngx_balancer.enable_keepalive()' #7420
Error in the last step of source code installation
hi..I have installed kong using docker-compose ...but i dont know how to add and install custom plugins in kong and give its path to docker-compose file
any one can help me with proper and clear steps to install plugins and adding it to kong?
Hello, I have a weird situation happening with Kong. While everything works, at random points of time, while am calling auth/token endpoint, kong responds with 400 with error invalid client. Does anyone have a clue on were I should start looking?
Đức Trí
Hi ! I have a error with kong gateway ? How to fix it ?
"message": "An unexpected error occurred"
I call request to service by Apache JMeter . 60 request success and after throw error "message": "An unexpected error occurred"
i'm getting this error (curl: (7) Failed to connect to localhost port 8001: Connection refused ) when i tried to install kong in docker
Dewald de Jager
@Seven675 Did you expose the port in your Dockerfile and when using the docker run command?
Hi all. I have a question regarding decK. When deploying a DB-less instance of Kong, how do I deploy Kong and configure it using decK with no downtime? (By downtime I also mean no point in time where the gateway is not configured)

Questions about plugin unit test (the busted way). I am trying to send a request with cookie, below is the code
describe("request", function()
it("request, with cookie", function()
local r = client:get("/", {
headers = {
"cookie" = "...",
"host" = "..."


Based on the status, the cookie seems not be sent correctly. Any suggestion?

Hi Al,, have a scenario, has anyone worked with Ed25519 JWT signing with kong/lua , we have found equivalent libraries for lua resty jwt but they support only HS256, HS512, RS256 algos , any known support for this?

We tried https://github.com/peter-evans/paseto-lua, but it required libsodium dependancy which resulted in
No rule to make target crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c', needed bycrypto_box/curve25519xsalsa20poly1305/libsodium_la-box_curve25519xsalsa20poly1305.lo'. Stop.

when tried to install through luarocks

hello team i want to print the upstream request
i tried using file-log plugin but it gives just upstream uri
and not actual request sent out
hi team can any1 please help
Eric Satterwhite
the 2nd to last bullet point says that kong has to write ever request + response to disk. Is this still accurate?
Avinash K
I ran into an issue with kong migrations from 2.0.5 to 2.4.1. I did a blue-green of Kong deployment with Postgres DB. After I ran "kong migrations up” command, I was able to make the 2.4.1 version of Kong Gateway to point to the same DB and I was able to access the already created routes. But when I ran “kong migrations finish” command to complete the migration process, it wasn’t complete. Even though “kong migrations finish” completed execution without any errors, I was still not able to fetch the existing kong entities via Kong 2.4.1 Admin API. Can anyone help with this issue?
Priyansh Jain
Hey folks!
I wanted to know how the kong api gateway works with plugins
For example if i were to have a plugin that connects to redis by creating a connection object, does this mean that for every request a new connection object will be created? Or does the lua runtime handle it differently?
Team - We are running Kong on K8s backed with postgres DB. Does Kong hits DB for every calls from consumers to validate OAuth token, Basic Auth / Key Auth creds..
Narendra Patel
Hi All, need some help around [Kong/kong#7608]. Any leads would be highly appreciated.
Team, I have one more query on how Kong interacts with postgres.
We have two DataCenters.
DC - A -> Kong on K8s with PG DB. We run master (read and write) PG and replica (read only) instance here.
DC - B -> Kong on K8s listening to master PG on DC -A. We also have one more replica (read only) here.
Both DC’s are active and to avoid latency in DC-B as it has to talk to master in DC-A, along with pg_host property, we configured pg_ro_host property in DC-B which points to DC-B’s replica for read only calls. This helped us reduce the latency.
But for some reasons, if we bring down DC-B’s replica, pg_ro_host goes down and eventually bringing down Kong itself even-though master in DC-A is active.
So question is, can Kong switch to use pg_host property if the host configured in pg_ro_host is not reachable?
Rishabh Gupta
@Presto412 : Redis connections will be managed by the Redis driver you are using within the plugin. If using the standard options for Redis lua driver like openresty-redis, then it manages all connections in an shm object and hence takes care of connection pooling.
Ben Cheung

Hi everyone, when using the request-transformer, one of my header which its value is ""(emtpy) is transformed to a " "(a space character).

Going into the source code, I find out the following. My expectation is that the header value should not be changed when i set nothing on the header part.

in the access.lua, line 248


which call set_headers() in request.lua, line 361

request.set_headers = function(headers)

    if type(headers) ~= "table" then
      error("headers must be a table", 2)

    -- Check for type errors first


    -- Now we can use ngx.req.set_header without pcall

    for k, v in pairs(headers) do
      if string_lower(k) == "host" then
        ngx.var.upstream_host = v

      ngx.req.set_header(k, normalize_multi_header(v))


and then call normalize_multi_header() in checks.lua, line 13

function checks.normalize_multi_header(value)
  local tvalue = type(value)

  if tvalue == "string" then
    return value == "" and " " or value

  if tvalue == "table" then
    local new_value = {}
    for i, v in ipairs(value) do
      new_value[i] = v == "" and " " or v
    return new_value

  -- header is number or boolean
  return tostring(value)

when the value is "", it will return " "

I have Kong running on K8s backed with Postgres DB. We have a requirement where need to build plugins in GOLang and JavaScript. Can someone please guide how to build pluginserver for these programming languages in the above mentioned setup.
Kong - 2.5.0 and KIC - 1.3.1
We have a requirement where we need to dynamically generate the backend service endpoint based on the incoming URI from consumer. Any suggestion on this? Ours is Kong running on K8s with postgres DB.
I am trying to use the nokia/kong-oidc plugin in order to authenticate my users. We do not have username/passwords. We are authenticating using certificates. Has anyone run into this use case? I am having some difficulty passing the certs to keycloak openid-token.
Pugazhendhi Thanikasalam

Broken Pipe Error - Large Payload Size - 223.86 KB Size

When sending the http request with large payload size , getting broken pipe error in JS plugin , when reading the request for transformation .

Postman ---------------------> Kong Gateway [ JS Plugin that decrypt the request ] ------------------------- > Micro Service

Code :
if (!this.isWhiteList) {
let requestRaw = await kong.request.getRawBody() ------> exception here

Logs, server: kong, request: "POST /paotang/v1/registration/grant HTTP/1.1", host: "localhost:9000"
2021/07/29 20:43:57 [error] 44#0: 234 send() failed (32: Broken pipe), client:, server: kong, request: "POST /paotang/v1/registration/grant HTTP/1.1", host: "localhost:9000"
2021/07/29 20:43:57 [notice] 43#0: signal 17 (SIGCHLD) received from 51
2021/07/29 20:43:57 [error] 44#0:
234 [kong] mp_rpc.lua:308 [decrypt] broken pipe, client:, server: kong, request: "POST /paotang/v1/registration/grant HTTP/1.1", host: "localhost:9000"
2021/07/29 20:43:57 [notice] 43#0: 18 [kong] process.lua:258 external pluginserver 'js' terminated: exit 1, context: ngx.timer
2021/07/29 20:43:57 [notice] 43#0:
18 [kong] process.lua:248 Starting js, context: ngx.timer

Temur Saidkhodjaev
Hi! I'm trying to configure anonymous consumer on Kong Enterprise in DB-less mode and use it as a fallback for OpenID Connect plugin. I tried setting consumer username in config.anonymous of the OIDC plugin, but it says it requires UUID, which is unavailable before Kong is run. I tried doing the same through Kong Admin API, but DB is required to change the plugin config. It seems like this issue Kong/kong#5551 has been fixed already in Kong 2.0, but it doesn't work for me in 2.4. Any ideas/suggestions? Is anonymous access even supported in DB-less mode? Thanks.
I get a log 2021/08/16 01:01:34 [error] 86#0: 21580818...
May I know what's the meaning of "86#0" and "
Konstantin Smolyakov
Hi! Is there any simple way to run some mock http endpoints when integration testing plugins? E.g. my plugins accepts http url in the config and I need to mock its endpoints during tests. I tried mockbin but it seems a bit overkill and doesn't handle routing well. Thanks.
Hi All,
Can someone help with the regex for "Request Transformer" plugin to replace the URI from the frontend request
www.google.com/xyz/openapi to backend request being sent as
Hi All, we just noticed that access log entry is missing for some cases when upstream timed out.. I think the expectation here is that Kong should still log the req in access log with 504 status code.. Did someone noticed the same error? is there a fix available?
2021/08/30 04:12:54 [error] 20932#0: *2003976052 upstream timed out (110: Connection timed out) while reading response header from upstream
i'm using the request transformer plugin as well as the oauth2 plugin. i want to transform the body first then i want the oauth2 plugin to use transformations i add. how do i control the order of plugin execution?
hi all, i have microservice with websocket endpoint (ws) and kong gateway with ingress with letsencrypt tls.
request to wss://api.example.com/subscription returning Unexpected server response: 101
what i miss?
Ramy Abadlia
hello guys


I am currently playing around with the Kong API Gateway and I would like to use it to validate the authentication and the authorization of users at the gateway and restrict access to services if the user is not logged in properly.

I have already an existing authentication django microservice which issues JWTs whenever a user logs in but i cant share this tokens with the other microservices because each one of them have his own database.

So i would now like to know if i can share the JWT secret produced by django and use it for jwt plugin of kong api and also do i need to create a consumer for every users and what is the right steps to achieve that ?

Any hint would be highly appreciated.

Liu Chuan

Hi, I want to know if do a unit test execution on kong must install vagrant ?? I'm getting an error when trying to run the unit tests for kong, my kong version is 2.2.2, and I run this command "busted --lpath=/usr/local/openresty/lualib/?.lua ./03-plugins/09-key-auth/01-api_spec.lua" but I got this error
0 successes / 0 failures / 1 error / 0 pending : 0.007311 seconds

Error → /usr/local/share/lua/5.1/kong/tools/utils.lua @ 36

What do I have to do to get the unit tests to run properly?? anyone can help me??
@swapnilpotnis hi, have you find hw to do that ?
(strip part of uri)

Hi All, I have kong docker container using as load balancer + proxy server and my server application container is running on the same host . I am trying to create 200k websocket connections.

I am unable to achieve more than 85k connections when server application and kong containers are on the same host.
I am able to achieve 200k connection when I bypass kong and establish direct connections with server.
I am able to achieve 200k connection when I deployed kong container on the other host and my server application on different host .
I have tried changing cache, send, read timeout limits but nothing worked for me . I am curious what’s limiting the number of connections through kong when running on the same host as server application and what are the parameters that needs to be changed.

any help here would be appreciated, please

Jakub Kądzielawa

hello :) I have two different Kubernetes cluster (EKS on AWS) with TEST/PROD environments. tomcat version, configuration of application and application version is the same on the both environments.

however on one TEST cluster I have in front of Classic Load Balancer because of Kong which is based on nginx and from some reason SSE notification are not working, it means that requesting for the specific URL closes connection because I am getting some headers like Connection: close and it's not keeping alive like expected therefore I am not getting any sse notifications

on PROD Cluster (Application Load Balancer) everything works as expected, after requesting URL connection is keeping and notification are received. any ideas what's wrong with that?

there is some configuration of nginx in kong

location / {
    set $kong_proxy_mode             'http';

    proxy_http_version      1.1;
    proxy_buffering          off;
    proxy_request_buffering  off;
    proxy_cache off;
    chunked_transfer_encoding off;
    proxy_set_header Connection "Keep-Alive";
    proxy_set_header Proxy-Connection "Keep-Alive";


Hi everyone. I'm using kong without any response size limiting plugins.
When trying to download a response of over 1GB, the connection abruptly cuts off and I get this error
curl: (92) HTTP/2 stream 0 was not closed cleanly: INTERNAL_ERROR (err 2)
any ideas?
I am deploying a rtsp service behind kong, and the "stream_listen" is configured, and works fine.
I wonder how to make my custom plugin supporting "tcp", it always says "grpc, grpcs, http, https", and it not invoked at all?
1 reply
Jakub Kądzielawa
hello, is it possible to add Routes or Services of kong in some object in Kubernetes or in other some programatically way?
it would be great if we could add routes/services in some better way than via Admin CLI or via Konga directly to database
1 reply
Eduardo Rosales Fernández
This message was deleted