当前,我想将位于子网服务端点后面的Cosmos数据库实例与位于另一个子网后面的应用程序网关实例连接。
因此,我实现了从公共IP到Cosmos数据库实例的Https转发。但是,azure门户告诉我该数据库是不健康的后端服务,并说该证书未列入白名单:
这些是我到目前为止完成的步骤:
$ openssl genrsa -out priv-key-db.pem 4096
$ openssl req -new -key priv-key-db.pem -out csr-db.pem
$ openssl x509 -in csr-db.pem -out cert-db.cer -req -signkey priv-key-db.pem -days 365
答案 0 :(得分:1)
Azure Cosmos数据库是Azure托管服务。我们使用拥有巴尔的摩CyberTrust Root颁发的公共证书通过HTTPS访问它。我认为您无法通过应用程序网关访问数据库实例时为连接创建TLS证书,因为如果要执行此操作,还需要将TLS证书绑定到Azure Cosmos数据库服务,否则,探测失败,并且后端未列入白名单。
来自step 7-上传要在启用SSL的后端池资源上使用的证书。
默认探针从默认SSL绑定获取公钥 后端的IP地址并比较它的公钥值 会收到您在此处提供的公钥值。
如果要在主机上使用主机头和服务器名称指示(SNI) 在后端,检索到的公钥可能不是目标站点 哪些流量流动。如有疑问,请访问https://127.0.0.1/ 后端服务器以确认哪个证书用于 默认SSL绑定。在此使用该请求中的公钥 部分。如果您在HTTPS绑定上使用主机头和SNI,并且 您没有收到来自手动浏览器的响应和证书 请求到后端服务器上的https://127.0.0.1/,您必须设置 它们上的默认SSL绑定。如果不这样做,探测将失败 并且后端未列入白名单。
作为一种解决方法,您可以使用某些第三方代理服务器来帮助将HTTPS通信重定向到您的后端(例如Nginx)。希望对您有帮助。