You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

保留Azure CDN前提下从后端Nginx动态加载index.html方案咨询

实现方案

核心是利用Azure CDN的服务端URL重写能力,全程不会触发客户端跳转,用户地址栏始终保持domain.com,同时完全保留现有CDN服务,配置步骤如下:

1. Azure CDN 端配置

  • 进入绑定了domain.com的CDN资源控制台,找到「规则引擎」配置项
  • 新建匹配规则:
    • 匹配条件:请求URL -> 路径 -> 等于/
    • 执行动作:选择URL重写(注意不要选URL重定向),重写目标路径填写/website/index.html
  • 配置CDN源站信息:将源站地址设置为api.domain.com,源站协议与Nginx端保持一致(HTTP/HTTPS),源站主机头保持默认或填写api.domain.com,确保CDN回源请求可以正常被Nginx识别
  • 保存规则后等待配置生效,生效时长通常为1~15分钟

若使用的是Azure CDN Premium SKU,规则引擎入口在「管理」跳转门户中,动作名称为URL Rewrite,配置逻辑完全一致。

如果你的index.html中引用了相对路径的静态资源(比如css/main.css、js/app.js),可以新增一条规则适配资源访问:

  • 匹配条件:请求URL -> 路径 -> 不等于/
  • 执行动作:URL重写,重写目标路径填写/website/{request_uri}

2. Nginx 端配置(可选,按需调整)

如果Nginx对api.domain.com的请求有权限限制,可参考如下配置调整:

server {
    listen 443 ssl;
    server_name api.domain.com;
    ssl_certificate /path/to/your/cert.pem;
    ssl_certificate_key /path/to/your/key.pem;

    location /website {
        # 替换为你的网站文件实际存放路径
        root /var/www;
        index index.html;
        # 按需添加Azure CDN回源IP白名单,避免回源被拦截
        allow 1.2.3.0/24;
        deny all;
    }
}

验证方法

配置生效后清理CDN缓存,访问domain.com检查:

  • 地址栏始终显示domain.com,无跳转
  • 页面返回内容和直接访问api.domain.com/website/index.html完全一致
  • F12查看网络请求,根路径请求返回状态码为200,无301/302跳转记录

内容的提问来源于stack exchange,提问作者Thorniey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 15:39:03