Azure应用网关配置:Prometheus、Grafana、Loki的HTTPS子域名访问
Azure应用网关配置分步指南(针对Prometheus/Grafana/Loki子域名暴露)
问题1:基于子域名的流量路由配置
按以下步骤实现子域名到VM对应端口的转发:
- 创建后端池:进入应用网关的「后端池」页面,添加单台VM作为目标,填写VM的私有IP地址(确保应用网关与VM在同一VNet内)。
- 创建后端设置:为每个服务单独配置后端设置:
- Prometheus:端口填
9090,协议选HTTP(网关到VM内部用HTTP即可,对外用HTTPS加密) - Grafana:端口填
3000,协议选HTTP - Loki:端口填
3100,协议选HTTP
- Prometheus:端口填
- 创建路由规则:每个子域名对应一条规则:
- 规则类型选择「基于路径的路由」(实际匹配主机名)
- 以Prometheus为例:关联后续创建的HTTPS监听,主机名填
prometheus.example.com,后端池选已创建的VM池,后端设置选Prometheus对应的配置 - 重复上述操作,分别为Grafana、Loki创建对应子域名的路由规则。
问题2:健康探针最佳实践
针对每个服务配置专属探针,确保网关能准确识别服务状态:
- 探针配置细节:
- Prometheus:路径填
/-/healthy,端口9090,协议HTTP,检测间隔30秒,超时10秒,失败阈值3次 - Grafana:路径填
/api/health,端口3000,协议HTTP,参数同上 - Loki:路径填
/ready,端口3100,协议HTTP,参数同上
- Prometheus:路径填
- 关联后端设置:创建后端设置时,选择自定义探针(不要用默认探针),将对应服务的探针绑定到后端设置上。
- 注意事项:如果服务有认证限制(比如Grafana默认需登录),务必选择无需认证的健康端点,避免探针误判服务为不健康。
问题3:强制HTTP转HTTPS重定向
实现所有子域名的HTTP请求自动跳转到HTTPS:
- 创建HTTP监听:监听端口设为80,主机名填
*.example.com(匹配所有子域名),协议选HTTP。 - 创建重定向配置:类型选「永久重定向(301)」,目标协议HTTPS,目标端口443,目标主机名选择「从请求中获取」。
- 绑定路由规则:创建一条路由规则,关联刚才的HTTP监听,规则类型选「重定向」,选择已创建的重定向配置即可。
问题4:Azure内置SSL证书管理方案
Azure有类似AWS ACM的证书管理能力,无需手动维护证书,具体方案如下:
- 使用Azure Key Vault托管证书:
- 先创建Azure Key Vault,开启「软删除」和「不可恢复删除」功能,确保证书安全。
- 在Key Vault中购买通配符证书
*.example.com(支持所有子域名复用),证书由Azure与DigiCert合作提供,支持自动续期。 - 进入应用网关的「SSL证书」页面,选择「导入Key Vault证书」,关联你的Key Vault和已购买的证书。
- 在HTTPS监听配置中,选择该证书即可完成加密配置。
- 优势:证书自动续期,无需手动操作,且通配符证书可覆盖所有子域名,减少重复配置。
内容的提问来源于stack exchange,提问作者Abdul Gaffoor Noor Basha
相关产品推荐
相关产品推荐

