如何不使用Route 53将AWS托管的Node.js项目与Cloudflare对接?
用Cloudflare对接AWS Node.js实例的步骤
1. 确认AWS实例的可访问性
- 确保你的EC2实例绑定了弹性IP(避免实例重启后IP变更),安全组已开放Node.js服务对应的端口(如3000、80或443)
- 直接用「弹性IP+端口」访问项目,确认服务正常运行
2. 切换域名的DNS服务器到Cloudflare
- 登录Cloudflare后台,添加你的域名并完成域名所有权验证
- 复制Cloudflare提供的一组DNS服务器地址
- 前往域名注册商(若域名托管在Route53,就去Route53的域名管理页面),将原DNS服务器替换为Cloudflare的地址
3. 在Cloudflare添加指向AWS实例的DNS记录
- 进入Cloudflare域名的「DNS」管理页面,添加A记录:
- 名称:填写你的主域名(如
example.com)或子域名(如api.example.com) - 内容:填入EC2实例的弹性IP
- 代理状态:先选「仅DNS」测试连通性,确认正常后再改为「代理」(开启Cloudflare的CDN与安全防护)
- 名称:填写你的主域名(如
4. 优化配置(可选)
- 端口与SSL配置:如果Node.js用非80/443端口,建议在EC2上部署Nginx做反向代理,将80/443端口的请求转发到Node.js服务;同时在Cloudflare的「SSL/TLS」设置中选择合适的模式(灵活/严格,严格模式需要实例上部署SSL证书)
- 安全防护:开启Cloudflare的WAF、Bot管理功能,拦截恶意请求
- 缓存优化:针对项目中的静态资源设置缓存规则,提升访问速度
5. 验证配置
- 等待DNS生效(通常10分钟到2小时),用
nslookup 你的域名命令确认解析结果为EC2实例的弹性IP - 访问你的域名,确认Node.js项目可以正常打开
内容的提问来源于stack exchange,提问作者Ajay
相关产品推荐
相关产品推荐

