我有一个 Azure 应用程序网关,并尝试使用 SSL 设置基于路径的路由。
后端池目标服务器是应用服务,允许接受 HTTP 和 HTTPS 流量。
详细配置
后端池
- Pool1 -> 包含一个应用服务
- Pool2 -> 包含一个应用服务
后端设置
- 后端协议 -> HTTPS
- 使用知名 CA 证书选项
- 主机名覆盖 -> 从后端目标中选择主机名(以便应用服务可访问)
前端 IP 配置
- 一个公共 IP 地址
路由规则
- 监听器——HTTP_Listener
- 后端目标
- 基于路径的规则
- 路径:“/path1/*”-> Pool1
- 路径:“/path2/*”-> Pool2
然后我有了 HTTP 侦听器,它运行良好,我可以访问域:subdomain.domain.com
路线也运行良好:
在此阶段之后,我无法配置通过 HTTPS 访问域。
HTTPS 侦听器配置
- 协议:HTTPS
- 证书:自签名证书
- 监听器类型:多站点 -> 主机名:“*.domain.com”
错误
当我将路由规则中的侦听器从 HTTP 切换到 HTTPS 时,我在 Web 浏览器中收到一个错误:
'subdomain.domain.com' 没有发送任何数据。ERR_EMPTY_RESPONSE
PS 在 PowerShell 中创建自签名证书
New-SelfSignedCertificate -certstorelocation cert:\localmachine\my -dnsname subdomain.domain.name
$pwd = ConvertTo-SecureString -String "12345" -Force -AsPlainText
Export-PfxCertificate -cert cert:\localMachine\my\0000000000 -FilePath c:\cert.pfx -Password $pwd
答案1
因此,我只需重新启动网络接口,它就可以正常工作。就这么简单。