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/,存在几个问题:
- 在我的Kong GCP堆栈中,没有名为“kong_nginx.tmpl”的文件,所以我无法完全实现作为参考link
- 我在 kong.conf 中更改时遇到了这两个问题:
- bind() 到 0.0.0.0:80 失败(13:权限被拒绝)
- bind() 到 0.0.0.0:443 失败(13:权限被拒绝)
以下是我目前的配置步骤:
- 运行:
sudo /opt/bitnami/ctlscript.sh stop kong
- 更改/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
- 运行:
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
。
之后,执行您执行的步骤。
请注意,您必须是根用户才能更新这些文件。
希望对您有所帮助!
我正在使用 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/,存在几个问题:
- 在我的Kong GCP堆栈中,没有名为“kong_nginx.tmpl”的文件,所以我无法完全实现作为参考link
- 我在 kong.conf 中更改时遇到了这两个问题:
- bind() 到 0.0.0.0:80 失败(13:权限被拒绝)
- bind() 到 0.0.0.0:443 失败(13:权限被拒绝)
以下是我目前的配置步骤:
- 运行:
sudo /opt/bitnami/ctlscript.sh stop kong
- 更改/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
- 运行:
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
。
之后,执行您执行的步骤。
请注意,您必须是根用户才能更新这些文件。
希望对您有所帮助!