Kong GCP 堆栈问题:代理端口设置

Kong GCP Stack Issue: Proxy Ports Setup

我正在使用 Kong Bitnami GCP Stack(2.2.0 版)作为 API 网关:https://console.cloud.google.com/marketplace/product/bitnami-launchpad/kong

它适用于端口 8000 的 HTTP 和端口 8443(默认配置)的 HTTPS。但是,当我尝试将生产环境的 HTTP/HTTPS 侦听端口更改为 80/443 时,遵循此 link: https://docs.bitnami.com/google/apps/kong/configuration/kong-production/,存在几个问题:

以下是我目前的配置步骤:

  1. 运行: sudo /opt/bitnami/ctlscript.sh stop kong
  2. 更改/opt/bitnami/kong/conf/kong.conf: 将 proxy_listen = 0.0.0.0:8000, 0.0.0.0:8443 ssl 更改为 proxy_listen = 0.0.0.0:80, 0.0.0.0:443 ssl
  3. 运行: sudo /opt/bitnami/ctlscript.sh restart kong

任何意见或反馈将不胜感激。非常感谢!

此致,

这个错误的原因应该与运行负责kong的进程的用户有关。检查它的模块我们可以找到

/root/.nami/registry.json

"com.bitnami.kong": {
            "id": "com.bitnami.kong",
            "name": "kong",
            "version": "2.2.1",
            "revision": "3",
            "installedAsRoot": false,
            "lifecycle": "installed",
            "installdir": "/opt/bitnami/kong",
            "installPrefix": "/opt/bitnami",
            "values": {
...
                "systemUser": "kong",
                "systemGroup": "kong",
...

这里我们需要把'com.bitnami.kong'.values.systemUser'com.bitnami.kong'.values.systemGroup也改成root

此外,我们必须在另一个文件中更改它,

/root/.nami/components/com.bitnami.kong/nami.json

   "service":     {
        "confFile": "{{$app.confDir}}/kong.conf",
        "pidFile": "{{$app.installdir}}/server/pids/nginx.pid",
        "logFile": "{{$app.installdir}}/server/logs/error.log",
        "ports":         [
            "{{$app.proxyHttpPort}}",
            "{{$app.proxyHttpsPort}}",
            "{{$app.adminHttpPort}}",
            "{{$app.adminHttpsPort}}"
        ],
        "start":         {
            "timeout": 180,
            "wait": 5,
            "username": "kong",
            "command": "{{$app.installdir}}/bin/kong start && tail -f {{$app.installdir}}/server/logs/error.log",
            "env": {"PATH": "{{$app.installdir}}/openresty/bin:{{$app.installdir}}/openresty/luajit/bin:{{$app.installdir}}/openresty/nginx/sbin:{{$global.env.PATH}}"}
        }
    },

那我们必须把service.start.username改成root

之后,执行您执行的步骤。

请注意,您必须是根用户才能更新这些文件。

希望对您有所帮助!