AWS Lightsail中www子域名无法访问问题求助
解决方案:www子域名无法访问的排查与修复
1. 验证DNS解析状态
- 本地终端执行
nslookup www.yourdomain.com或dig www.yourdomain.com,确认返回的IP是否与服务器公网IP一致。如果返回结果为空或IP错误,说明DNS记录配置有误或未生效。 - 刷新本地DNS缓存消除影响:Windows执行
ipconfig /flushdns,Mac/Linux执行sudo systemd-resolve --flush-caches。DNS生效时长取决于记录的TTL值,若设置为300秒(5分钟),最多等待5分钟即可完成全球同步。 - 核对Route53记录:确保www记录状态为
ENABLED,A记录需准确填写服务器公网IP;CNAME记录需指向主域名yourdomain.com(无需额外加后缀)。
2. 调整NGINX配置
NGINX无www域名请求日志,大概率是未配置对应监听规则:
- 打开站点配置文件(通常在
/etc/nginx/sites-available/或/etc/nginx/conf.d/目录),修改server_name字段包含www域名:server { listen 80; server_name yourdomain.com www.yourdomain.com; # 其余站点配置(如根目录、跳转规则等) } - 若启用HTTPS,需同步修改443端口的server块,确保
server_name包含www.yourdomain.com。 - 验证配置语法:
sudo nginx -t,无报错后重载NGINX:sudo systemctl reload nginx。
3. 更新SSL证书
原证书仅包含主域名,HTTPS下www请求会因证书不匹配失败:
- 若使用Let's Encrypt,执行命令重新申请包含双域名的证书:
certbot --nginx -d yourdomain.com -d www.yourdomain.com - 证书更新后,Certbot会自动调整NGINX的HTTPS配置,确保www域名被正确覆盖。
4. 排查网络拦截
- 检查Lightsail实例防火墙:确认80(HTTP)、443(HTTPS)端口已对0.0.0.0/0开放。
- 检查Ubuntu系统防火墙:执行
sudo ufw status,确保80、443端口处于允许状态。 - 若使用CDN(如Cloudflare),需同步配置www域名的CDN规则,确保源站指向服务器IP。
内容的提问来源于stack exchange,提问作者Garrett Berg
相关产品推荐
相关产品推荐

