Azure应用网关:502 / SNI / SSL问题?使用应用服务进行配置

时间:2018-12-06 08:39:08

标签: azure ssl azure-application-gateway

我在这里有点疯了,因为我无法使其正常工作。

环境:

  • App Gateway v2(WAF)
  • 具有自定义域的应用服务
  • 结束2结束SSL

目标:

  • 仅在App Gateway上管理外部SSL证书
  • 应用程序服务上的自签名SSL
  • End2End SSL

设置:

  • BackendPool设置为App Service(* .azurewebsites.net)
  • 外部配置的FronendIP
  • 设置了外部主机名Https的自定义探针
  • 具有FrontendIp / Port(443),主机名和外部有效证书的SSL侦听器
  • 将自签名证书(cer)导入到App Gateway(powershell)中的受信任根权限中
  • Http设置-> Https,端口443,超时30,自定义探测器,主机名设置为外部地址,已分配TrustedRootCertificate(powershell)
  • 具有SSL侦听器,后端池,已应用Http设置的基本规则(powershell!)
    • 现在这可能是让我失望的原因,因为:
      • Powershell表示已应用后端http设置
      • 门户网站在规则的“概述”页面上也这样说
      • 但是,在编辑规则时,“ Http设置”字段为空,并且有一个红色的感叹号:
  

“没有从后端地址选择主机名的http设置   组。使用后端选择主机名创建新的http设置   地址设置,然后重试。”

但是,我不需要此设置,因为那样会以“ * .azurewebsites.net”的方式访问后端,对吗?我需要通过外部主机名(* .mydomain.com)访问后端。

症状:

  • 门户网站“健康”中的后端健康状况
  • 访问外部主机名-> 502错误的网关

我通过使用“从后端选择主机名”和使用azure主机名(* .azurewebsites.net)进行内部访问来完成此工作,不幸的是,我们的应用程序确实需要外部名称(对于上下文:完成后,将是指向同一应用程序的多个外部名称,并且该应用程序会根据使用的主机名来更改行为)

更多说明:

  • App Service配置有SSL,仅将自签名证书分配给具有“ SNI”的自定义主机名

2 个答案:

答案 0 :(得分:0)

  

但是,在编辑规则时,“ Http设置”字段为空,并且   有一个红色的感叹号:

Github here中的类似情况。设置HTTPS设置时,WAF_v2似乎不接受.cer文件。当使用PowerShell将带有Http设置的CER证书列入白名单时,它不会反映在门户中。可能的原因是应用程序网关不支持WAF_v2层的身份验证证书。您可以使用WAF_v2和known-issues-and-limitations在Application Gateway中阅读End to end SSL with the v2 SKU

  

证书是自签名的,还是由未知者签名的   中介,然后启用v2 SKU中的端到端SSL受信任的根   必须定义证书。应用程序网关将仅通信   后端的服务器证书的根证书匹配一个   后端http设置中的受信任根证书列表的列表   与泳池相关联。

     

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

     

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

关于502 Bad Gateway错误,您的后端健康状况良好。如果您的后端没有防火墙阻止请求或响应,建议您在Web服务器端检查错误,并确保后端在30秒内响应应用网关发送的请求(默认值)。

您可以从troubleshooting stepsdiagnostic logs, and metrics for Application Gatewa y和here获得更多参考。

希望这会有所帮助。

答案 1 :(得分:0)

事实证明,这是“预览”中“ V2”的副作用(截至2018年12月13日)。 “预览”标签不是立即可见。 Azure门户没有提到它在预览中,并且所有文档都谈到在预览中“自动缩放”。

结果是,“ V2”意味着“自动缩放”功能,因此整个“ V2”内容都在预览中。

我们重新完成了与“ V1”应用网关类型完全相同的设置,并且按预期工作。

我希望他们也能在Portal中清楚地标记预览内容...