如何将Route53注册域名绑定至Amazon EC2并去除端口3000访问
解决域名绑定与端口转发问题
一、Route53 域名解析配置
- 登录Route53控制台,找到你的域名托管区
- 创建两条解析记录:
- A记录:主机记录留空(对应
example.com),值填EC2实例的公网IPv4地址,TTL选默认值(如300秒) - A记录:主机记录填
www,值同样填EC2公网IPv4地址,实现www.example.com访问(可选)
- A记录:主机记录留空(对应
- 保存配置后,等待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
相关产品推荐
相关产品推荐

