如何配置Route 53将www.example.com/demo指向EC2实例应用?
配置www.example.com/demo路径转发到EC2应用的步骤
Route 53只负责域名解析到服务器,路径级别的转发需要在Web服务器(Nginx/Apache)上做反向代理配置,具体步骤如下:
1. 确认Route 53基础解析配置
先确保www.example.com已经正确解析到你的EC2公网IP(建议用弹性IP,避免实例重启后IP变化):
- 在Route 53托管区创建A记录,将
www.example.com指向EC2的公网IP(34.556.24.23) - 等待解析生效(通常几分钟),可通过
nslookup www.example.com验证
2. 配置Web服务器反向代理
根据你的WordPress站点使用的Web服务器,选择对应配置方式:
方式一:Nginx配置
- 打开WordPress站点的Nginx配置文件(通常路径如
/etc/nginx/sites-available/www.example.com.conf) - 在
server块内添加以下location规则,替换成你的应用实际监听的地址和端口(比如应用运行在EC2本地的8080端口):
location /demo { proxy_pass http://localhost:8080; 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前缀才能正常响应,添加重写规则 rewrite ^/demo/(.*)$ /$1 break; }
- 检查配置语法:
sudo nginx -t - 重启Nginx生效:
sudo systemctl restart nginx
方式二:Apache配置
- 先启用必要的模块:
sudo a2enmod proxy proxy_http rewrite
- 打开WordPress站点的Apache配置文件(如
/etc/apache2/sites-available/www.example.com.conf),在VirtualHost块内添加:
# 转发/demo路径到应用地址 ProxyPass /demo http://localhost:8080 ProxyPassReverse /demo http://localhost:8080 # 若需要去掉/demo前缀传给应用,添加重写规则 RewriteEngine On RewriteRule ^/demo/(.*)$ http://localhost:8080/$1 [P,L]
- 检查配置语法:
sudo apache2ctl configtest - 重启Apache生效:
sudo systemctl restart apache2
3. 验证与排错
- 访问
www.example.com/demo,测试是否能正常加载EC2上的应用 - 若出现错误,查看Web服务器日志:
- Nginx日志路径:
/var/log/nginx/error.log - Apache日志路径:
/var/log/apache2/error.log
- Nginx日志路径:
- 确保EC2安全组允许Web服务器的80/443端口(对外),如果应用是跨实例部署,还要允许实例间的端口访问
内容的提问来源于stack exchange,提问作者chai86
相关产品推荐
相关产品推荐

