我已经成功为 API 安装了 kong 网关,该 API 通过上游负载平衡到多个目标(应用程序服务器)。
现在,我有一个我的应用程序服务器的自签名证书,kong 和目标之间的 ssl 握手应该失败。我推断 kong 不验证上游证书。
经过一些研究,我发现ssl_proxy on;
nginx 的配置就可以做到这一点。
我想在 openresty 中找到一个等效的东西来验证上游 ssl 证书。
解决方案可能是修改 kong nginx 配置来激活ssl_proxy
但在同一个实例上使用不同的目标很糟糕。
我本来希望您以相反的方式进行操作:让您的后端服务在联系您的服务时验证 Kong 是否具有特定的 SSL 证书,以便实际上只有 Kong 可以连接到服务,因此任何 API 客户端都可以连接到必须经过 Kong 才能连接。
我们使用 Kong 0.11.0 对 wicked.haufe.io 进行了此操作,您可以找到合适的nginx_conf.lua
文件在这里:https://github.com/apim-haufe-io/wicked.kong/blob/master/templates/nginx_kong.lua https://github.com/apim-haufe-io/wicked.kong/blob/master/templates/nginx_kong.lua
这里有趣的一点是:
proxy_ssl_certificate /root/proxy-cert.pem;
proxy_ssl_certificate_key /root/proxy-key.pem;
它指定 nginx 用于对后端服务进行代理调用的证书和密钥。孔先生注意到了这一点。
通过检查我们为 wicked.haufe.io 的 Kong docker 镜像所做的事情,您应该能够适应您自己的需求;另一个有趣的地方是startup.sh
,其中从环境变量中提取证书/密钥并将其添加到/root/proxy-...pem
files.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)