Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.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
Azure应用程序网关:502/SNI/SSL问题?应用程序服务的配置_Azure_Ssl_Azure Application Gateway - Fatal编程技术网

Azure应用程序网关:502/SNI/SSL问题?应用程序服务的配置

Azure应用程序网关:502/SNI/SSL问题?应用程序服务的配置,azure,ssl,azure-application-gateway,Azure,Ssl,Azure Application Gateway,我在这里有点发疯了,因为我不能让它正常工作 环境: 应用网关v2(WAF) 具有自定义域的应用程序服务 端2端SSL 目标: 仅在应用网关上管理外部SSL证书 应用程序服务上的自签名SSL End2End SSL 设置: 后端池设置为应用程序服务(*.azurewebsites.net) 外部配置的FronendIP 设置了外部主机名Https的自定义探测器 具有FrontendIp/端口(443)、主机名和外部有效证书的SSL侦听器 已将自签名证书(cer)导入应用网关(powers

我在这里有点发疯了,因为我不能让它正常工作

环境:

  • 应用网关v2(WAF)
  • 具有自定义域的应用程序服务
  • 端2端SSL
目标:

  • 仅在应用网关上管理外部SSL证书
  • 应用程序服务上的自签名SSL
  • End2End SSL
设置:

  • 后端池设置为应用程序服务(*.azurewebsites.net)
  • 外部配置的FronendIP
  • 设置了外部主机名Https的自定义探测器
  • 具有FrontendIp/端口(443)、主机名和外部有效证书的SSL侦听器
  • 已将自签名证书(cer)导入应用网关(powershell)中的受信任根权限
  • Http设置->Https,端口443,超时30,自定义探测,主机名设置为外部地址,已分配TrustedRootCertificate(powershell)
  • 应用SSL侦听器、后端池和Http设置的基本规则(powershell!)
    • 这可能是让我感到不舒服的地方,因为:
      • Powershell表示已应用后端http设置
      • 门户网站在规则的“概述”页面上也这么说
      • 但是,编辑规则时,“Http设置”字段为空,并且有一个红色感叹号:
“没有从后端地址选择主机名的http设置 使用从后端选取主机名创建新的http设置 请设置地址,然后重试。“

但是,我不想要这个设置,因为它会以“*.azurewebsites.net”的形式访问后端,对吗?我需要外部主机名(*.mydomain.com)访问后端

症状:

  • 门户“健康”中的后端健康
  • 访问外部主机名->502坏网关
我通过使用“从后端选择主机名”并使用azure主机名(*.azurewebsites.net)进行内部访问实现了这一点,不幸的是,我们的应用程序确实需要外部名称(对于上下文:完成后,将有多个外部名称指向同一应用程序,并且应用程序会根据使用的主机名更改行为)

更多注意事项:

  • 应用程序服务配置了SSL,自签名证书仅分配给带有“SNI”的自定义主机名
但是,在编辑规则时,“Http设置”字段为空,并且 有一个红色感叹号:

Github中的情况类似。在设置HTTPS设置时,WAF_v2似乎不接受.cer文件。当您使用PowerShell将带有Http设置的cer证书列入白名单时,它不会反映在门户中。可能的原因是应用程序网关不支持WAF_v2层的身份验证证书。您可以在应用程序中读取带有WAF_v2和的网关

如果证书是自签名的,或由未知用户签名的 中介,然后在v2 SKU中启用端到端SSL受信任根 必须定义证书。应用程序网关将仅进行通信 具有其服务器证书的根证书与一个根证书匹配的后端 后端http设置中受信任的根证书列表的 与池关联

除了根证书匹配之外,应用程序网关 验证是否在后端http设置中指定了主机设置 与后端服务器的 SSL证书。尝试建立到的SSL连接时 后端,应用程序网关设置服务器名称指示(SNI) 扩展到后端http设置中指定的主机

如果选择了从后端地址选择主机名,则选择而不是主机 字段,则始终设置SNI标头 到后端服务器SSL上的后端池FQDN和CN 证书必须与其FQDN匹配。具有IP的后端池成员不匹配 在本场景中支持

关于502坏网关错误,您的后端运行状况良好。如果没有防火墙阻止来自后端的请求或响应,我建议检查web服务器端的错误,并确保后端在30秒内响应应用程序网关发送的请求(默认值)

你可以从和y以及获得更多的参考资料


希望这会有所帮助。

事实证明,这是“V2”处于“预览”(从2018年12月13日起)的副作用。“预览”标签并没有立即显现出来。Azure门户没有提到它处于预览中的任何内容,所有文档都谈到“自动缩放”处于预览中

原来,“V2”是指“自动缩放”功能,所以整个“V2”都在预览中

我们已经对“V1”应用网关类型重新进行了完全相同的设置,并按预期工作


我希望他们也能在门户中清楚地标记预览内容…

您是否有与appgatewaysubnet关联的NSG?如果有,您是否允许v2 SKU的端口443和端口65200-65535的传入流量,请参阅否,没有关联的NSG。使用“从后端选择主机名”时,end2end连接确实有效(但SNI主机名未通过),因此这不是网络问题。探测器也正常工作。您这边的具体错误是什么?站点:502坏网关-nginx/1.13.8后端健康:健康后端响应良好。我使用“v1”设置了完全相同的设置现在,这是可行的。在与Microsoft支持部门合作时,管理员承认“v2”处于预览状态,可能会出现类似的故障。(我想知道为什么Azure门户没有说明处于预览状态……)