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

如何将Route53注册域名绑定至Amazon EC2并去除端口3000访问

解决域名绑定与端口转发问题

一、Route53 域名解析配置

  • 登录Route53控制台,找到你的域名托管区
  • 创建两条解析记录:
    • A记录:主机记录留空(对应example.com),值填EC2实例的公网IPv4地址,TTL选默认值(如300秒)
    • A记录:主机记录填www,值同样填EC2公网IPv4地址,实现www.example.com访问(可选)
  • 保存配置后,等待5-10分钟让DNS生效,可通过nslookup example.com验证解析是否指向正确IP

二、EC2安全组端口开放

  • 登录EC2控制台,找到实例对应的安全组
  • 添加入站规则:
    • 类型选HTTP,端口范围80,源设为0.0.0.0/0(允许所有公网访问)
    • 保留3000端口规则(建议将源改为127.0.0.1/32,仅允许本地反向代理访问,提升安全性)

三、配置Nginx反向代理(核心:实现80端口转3000)

1. 安装Nginx

根据EC2实例的系统执行对应命令:

# Debian/Ubuntu系统
sudo apt update && sudo apt install nginx -y

# CentOS/RHEL系统
sudo yum install nginx -y

2. 配置反向代理规则

  • 备份默认配置:sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak
  • 编辑配置文件:sudo nano /etc/nginx/sites-available/default
  • 替换server块内容为:
server {
    listen 80 default_server;
    listen [::]:80 default_server;

    server_name example.com www.example.com;  # 替换为你的实际域名

    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

3. 验证并重启Nginx

  • 检查配置语法:sudo nginx -t
  • 重启服务生效:sudo systemctl restart nginx
  • 设置开机自启:sudo systemctl enable nginx

四、确认应用服务状态

  • 检查pm2管理的React应用:pm2 status,异常则执行pm2 restart <应用名称>重启
  • 检查forever管理的Node服务:forever list,异常则执行forever restart <进程ID/名称>重启

五、测试访问

直接在浏览器输入example.com,即可访问React应用无需附加端口。若仍无法访问:

  • 用ping example.com验证DNS解析是否生效
  • 查看Nginx错误日志排查问题:sudo tail -f /var/log/nginx/error.log
  • 确认EC2实例本地防火墙(如ufw、firewalld)未拦截80端口

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 23:44:58