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

基于子域名将域名重定向至不同端口(AWS环境)

实现方法

1. 确认Route 53的DNS配置

  • 保证www.xyz.com和demo.xyz.com的A记录(或CNAME)都指向你的EC2实例公网IP(建议用弹性IP,避免实例重启后IP变更),确保两个子域名能正常解析到目标实例。

2. 修改Nginx反向代理配置

  • 登录EC2实例,找到Nginx配置目录,通常是/etc/nginx/conf.d/或/etc/nginx/sites-available/。
  • 新建或修改配置文件(比如xyz-sites.conf),写入两个server块分别对应两个子域名:
# 处理www.xyz.com,转发到3000端口
server {
    listen 80;
    server_name www.xyz.com;

    location / {
        proxy_pass http://127.0.0.1:3000;
        # 传递请求头避免React应用出现路径/IP识别问题
        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;
    }
}

# 处理demo.xyz.com,转发到3002端口
server {
    listen 80;
    server_name demo.xyz.com;

    location / {
        proxy_pass http://127.0.0.1:3002;
        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;
    }
}

3. 验证配置并重启Nginx

  • 执行nginx -t检查配置语法是否正确,输出“test is successful”再继续操作。
  • 重启Nginx使配置生效:systemctl restart nginx(systemd系统)或service nginx restart。

4. 检查端口与安全组

  • 确认EC2安全组允许80端口的入站流量,否则外部无法访问Nginx。
  • 检查React应用是否在3000、3002端口正常运行,可通过netstat -tulpn | grep 3000和netstat -tulpn | grep 3002查看端口监听状态。

内容的提问来源于stack exchange,提问作者vaibhav deep

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 00:50:13