Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nginx Kong-验证上游ssl(ssl_代理打开)_Nginx_Lua_Openresty_Kong - Fatal编程技术网

Nginx Kong-验证上游ssl(ssl_代理打开)

Nginx Kong-验证上游ssl(ssl_代理打开),nginx,lua,openresty,kong,Nginx,Lua,Openresty,Kong,我已经成功地为一个API安装了kong gateway,该API通过上游到多个目标(应用服务器)实现负载平衡 现在,我有了一个用于我的应用服务器的自签名证书,在kong和目标之间的ssl握手应该会失败。我推断香港没有核实上游证书 经过一些研究,我发现ssl\u-proxy-onnginx的正确配置 为了验证上游ssl证书,我想在openresty中找到一个与之等效的证书 解决方案可能是修改kong nginx配置,以激活ssl\U代理,但在同一个实例上使用不同的目标会很糟糕。我希望您以另一种方式

我已经成功地为一个API安装了kong gateway,该API通过上游到多个目标(应用服务器)实现负载平衡

现在,我有了一个用于我的应用服务器的自签名证书,在kong和目标之间的ssl握手应该会失败。我推断香港没有核实上游证书

经过一些研究,我发现
ssl\u-proxy-onnginx的正确配置

为了验证上游ssl证书,我想在openresty中找到一个与之等效的证书


解决方案可能是修改kong nginx配置,以激活
ssl\U代理
,但在同一个实例上使用不同的目标会很糟糕。

我希望您以另一种方式进行操作:让您的后端服务在与您的服务联系时验证kong是否具有特定的ssl证书,因此,实际上只有Kong可以连接到服务,因此,任何API客户端都必须通过Kong进行连接

我们为wicked.haufe.io使用了Kong 0.11.0,您可以在这里找到合适的
nginx_conf.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
文件中。

请注意有关客户端配置中ssl的注释:

如果启用了“客户端\u ssl”,则绝对路径
到的客户端SSL证书
'代理ssl证书指令。注意
该值是在节点上静态定义的,
并且当前无法在上配置
根据API标准。


目前还不可能。

通过设置以下环境变量,我成功地将其用于Kong 0.14.x: KONG\u NGINX\u HTTP\u代理\u SSL\u验证:“打开” KONG\u NGINX\u HTTP\u代理\u SSL\u受信任的\u证书:“/mnt/certs/ca.crt” (将后者调整为指向您的自定义CA证书文件。)

这将使用“KONG_NGINX_HTTP_”前缀设置任意NGINX“HTTP”设置

不过,这似乎不适用于Kong1.0.x。目前正试图找到解决方案