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

AWS EC2运行React应用,绑定Cloudflare自定义域名配置遇困

解决Cloudflare域名指向AWS EC2 React应用的配置步骤

1. 确认EC2实例的公网访问基础信息

  • 给EC2实例绑定弹性IP(临时公网IP重启会失效,弹性IP可固定地址)
  • 确认React应用的服务端口(默认3000,生产环境建议用Nginx反向代理到80/443端口),同时在EC2安全组开放对应端口的入站规则(如80、443或3000)

2. 在Cloudflare配置DNS解析

你的域名是在Cloudflare购买的,DNS托管默认由Cloudflare负责,无需在Route 53配置NS记录,直接在Cloudflare后台操作:

  • 登录Cloudflare控制台,进入目标域名的管理页面
  • 切换到「DNS」标签页,添加解析记录:
    • 类型选A记录(IPv6环境选AAAA)
    • 名称填@(对应根域名,如yourdomain.com)或www(对应二级域名)
    • 内容填写EC2实例的弹性IP/公网IP
    • 代理状态先选「仅DNS」(测试解析生效后再开启Cloudflare代理)
    • TTL保持默认值即可

3. 配置EC2的反向代理(优化访问体验)

若React应用运行在3000端口,直接访问域名加端口不够友好,推荐用Nginx做反向代理:

  • 登录EC2实例,安装Nginx:
    # Ubuntu/Debian系统
    sudo apt update && sudo apt install nginx
    # CentOS/RHEL系统
    sudo yum install nginx
    
  • 编辑Nginx配置文件(示例路径:/etc/nginx/sites-available/yourdomain.com):
    server {
        listen 80;
        server_name yourdomain.com www.yourdomain.com;
    
        location / {
            proxy_pass http://localhost:3000;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
    
  • 创建软链接启用配置:
    sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/
    
  • 重启Nginx服务:
    sudo systemctl restart nginx
    

4. 验证配置有效性

  • 用nslookup yourdomain.com或dig yourdomain.com测试DNS解析是否指向EC2的IP地址
  • 在浏览器直接访问你的域名,确认React应用能正常加载
  • 若要开启Cloudflare的CDN和HTTPS,回到Cloudflare的「DNS」标签页将代理状态改为「代理」,再在「SSL/TLS」标签页选择「灵活」或「严格」模式(推荐严格模式,需在EC2上配置对应SSL证书)

常见问题排查

  • 解析不生效:等待DNS缓存刷新(通常5-10分钟),检查Cloudflare的DNS记录是否正确,确认EC2的IP无误
  • 访问超时:检查EC2安全组是否开放对应端口的入站规则,确认Nginx服务正常运行,验证EC2实例本身可正常访问

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 12:22:12