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

CloudFront路径模式配置:实现URL不变转发博客内容

解决CloudFront /blog/*路径跳转问题

1. 修复EC2博客源站的跳转配置

你的博客服务(如Nginx、Apache)大概率是检测到请求Host头不符或路径不匹配,主动返回了跳转响应。以Nginx为例,修改配置:

  • 允许example.com作为Host头访问:
    server {
        listen 443 ssl;
        server_name blog.example.com example.com; # 新增example.com支持
        # 保留原有SSL证书、加密配置...
    
        # 处理/blog/前缀请求,重写路径去掉/blog
        location ^~ /blog/ {
            rewrite ^/blog/(.*)$ /$1 break;
            root /path/to/your/blog/root; # 替换为博客文件实际目录
            index index.html index.php;
        }
    
        # 保留原blog.example.com根路径处理逻辑
        location / {
            root /path/to/your/blog/root;
            index index.html index.php;
        }
    }
    
  • 重启Nginx生效:sudo systemctl restart nginx

如果是Apache,需修改ServerName支持多域名,并配置RewriteRule处理路径前缀。

2. 调整CloudFront行为配置

进入CloudFront控制台,找到对应分发,编辑/blog/*行为:

  • 原点域名:确认设置为blog.example.com
  • 查看器协议策略:选择HTTPS only(与源站协议保持一致)
  • 原点请求策略:选择Managed-AllViewerExceptHostHeader,若博客依赖Host头,可自定义策略转发example.com作为Host值
  • 缓存策略:选择Managed-CachingOptimized,动态内容占比高的话可缩短TTL或临时禁用缓存测试
  • 转发规则:根据博客需求配置Cookie、查询字符串转发(如需要登录状态则转发对应Cookie)

3. 验证并清除CloudFront缓存

配置修改后等待分发部署完成(通常5-15分钟),手动清除/blog/*路径缓存:

  1. 进入分发的「缓存」标签页
  2. 点击「创建无效」,输入/blog/*提交

之后访问https://example.com/blog/即可保持URL不变,直接加载博客内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 03:01:12