我已运行 Kong Gateway,并且想要更改/设置 SSL 证书:
我设法通过curl完成它,遵循指南(https://support.konghq.com/support/s/article/How-to-setup-Kong-to-serve-an-SSL-certificate-for-API -请求)。
但是,有没有办法通过 helm 配置来设置/更改 SSL 证书?也许可以这样附上密卷并通过证书?
谢谢你。
经过深入研究并向 Kong 支持人员寻求帮助后,我得到了 2 种设置证书的方法。
如果您想尝试,可以通过以下方式生成自我证书:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout admin.key -out admin.crt -subj "/CN=example.com"
第一种方法:
kubectl create secret tls kong-admin-tls --cert=./admin.crt --key=./admin.key
tls: kong-admin-tls
到values.yaml中,例如:
kong:
...
admin:
ingress:
tls: kong-admin-tls
第二种方式:
kubectl create secret tls kong-admin-tls --cert=./admin.crt --key=./admin.key
kong:
...
secretVolumes:
- kong-proxy-tls
kong:
...
env:
ssl_cert: /etc/secrets/kong-proxy-tls/tls.crt
ssl_cert_key: /etc/secrets/kong-proxy-tls/tls.key
kong:
...
admin:
tls:
enabled: true
kong:
...
secretVolumes:
- kong-proxy-tls
- kong-admin-tls
- kong-mngr-tls
env:
ssl_cert: /etc/secrets/kong-proxy-tls/tls.crt
ssl_cert_key: /etc/secrets/kong-proxy-tls/tls.key
admin_ssl_cert: /etc/secrets/kong-admin-tls/tls.crt
admin_ssl_cert_key: /etc/secrets/kong-admin-tls/tls.key
admin_gui_ssl_cert: /etc/secrets/kong-mngr-tls/tls.crt
admin_gui_ssl_cert_key: /etc/secrets/kong-mngr-tls/tls.key
admin:
tls:
enabled: true
设置环境
KONG_SSL_CERT
和 KONG_SSL_CERT_KEY
ca_bundled.crt
是由 cert.crt
和 ca_cert.cert
连接在一起创建的。例如cat your_domain_name.crt Intermediate.crt >> bundle.crt
kong:
image: kong:3.8
ports:
- ${KONG_HTTP_PORT}:8000/tcp
- ${KONG_HTTPS_PORT}:8443/tcp
- 8001:8001
- 8002:8002
- 8444:8444
environment:
KONG_SSL_CERT: /certs/ca_bundled.crt
KONG_SSL_CERT_KEY: /certs/cert.key
volumes:
- ./Volumes/certs:/certs:ro
参考。 [https://www.linkedin.com/pulse/kong-api-management-ssl-configuration-g-manoj-kumar-reddy]