如何借助Cloudflare使用IP地址访问Azure App Service托管的网站
Cloudflare实现IP直接访问站点并修改Host头问题解答
核心结论
Cloudflare免费/Pro/Business版均不支持该需求,仅企业版可通过额外付费配置实现,更推荐使用成本更低的替代方案。
1. Cloudflare支持情况说明
Cloudflare的全球节点采用多租户共享架构,默认通过请求的
Host头或TLS SNI信息匹配对应的用户站点,直接访问Cloudflare公网IP无法匹配到你的站点配置,自然无法触发自定义请求头修改逻辑。
- 可实现的前提:需升级到Cloudflare企业版,同时额外购买专属IP(Dedicated IP)附加服务
- 配置方式:提交企业支持工单,申请将该专属IP的所有默认请求路由到你的站点,之后你可在控制台配置Transform Rules,统一将所有请求的
Host头覆写为www.mydomain.com后回源到Azure App Service - 无公开通用操作教程,所有底层路由配置需Cloudflare企业支持团队完成
2. 高性价比替代方案
无需使用Cloudflare即可快速实现需求,推荐以下两种方案:
- 自建轻量反向代理:采购任意云厂商的最低配置轻量服务器,部署Nginx/Caddy反向代理服务,核心配置逻辑为所有访问该服务器公网IP的请求,自动注入指定
Host头后转发到Azure App Service。Nginx参考配置如下:
server { listen 80 default_server; listen [::]:80 default_server; # 如需HTTPS访问可补充443监听和证书配置 location / { proxy_set_header Host www.mydomain.com; # 替换为你的Azure App Service实际访问地址 proxy_pass https://xxx.azurewebsites.net; proxy_ssl_server_name on; } }
- Azure原生服务实现:使用Azure Application Gateway服务,创建公网网关后配置请求头重写规则,将所有访问网关IP的请求统一添加
Host: www.mydomain.com头后转发到后端App Service,全程在Azure生态内完成,无需对接第三方服务。
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

