AWS Route 53域名关联EC2指定路径跳转异常求助
问题根源与解决方案
核心问题
DNS记录(A/CNAME/别名记录)不支持指向带路径的URL,你之前创建的www.domain.com别名记录指向https://1.2.3.4/websitepath是无效配置——DNS只会解析到IP或域名,路径的跳转必须由Web服务器(这里是Apache)来处理。
步骤1:修正Route 53记录
登录AWS Route 53控制台,修改www.domain.com的记录:
- 类型选择CNAME或别名记录,目标改为
domain.com(或者直接指向弹性IP 1.2.3.4的A记录),删除原记录里的路径部分。 - 确保
domain.com的A记录正确指向1.2.3.4,无需修改。
步骤2:配置Apache虚拟主机(实现域名到指定路径的映射)
Ubuntu系统的Apache虚拟主机配置在/etc/apache2/sites-available/目录下,按以下操作:
- 新建虚拟主机配置文件:
sudo nano /etc/apache2/sites-available/domain.com.conf - 粘贴以下配置(根据实际路径修改
/var/www/html/websitepath为你的网站实际目录):<VirtualHost *:80> ServerName domain.com ServerAlias www.domain.com DocumentRoot /var/www/html/websitepath <Directory /var/www/html/websitepath> Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/domain.com-error.log CustomLog ${APACHE_LOG_DIR}/domain.com-access.log combined </VirtualHost> - 启用虚拟主机并重启Apache:
sudo a2ensite domain.com.conf sudo systemctl reload apache2
额外说明
如果后续需要HTTPS访问,你需要给域名申请SSL证书(比如用Let's Encrypt的certbot工具),并修改虚拟主机配置监听443端口,配置证书路径。
内容的提问来源于stack exchange,提问作者GCiri
相关产品推荐
相关产品推荐

