我在 AWS 上的 ec2 Ubuntu 18.04 实例上创建了一个 Apache2 Web 服务器。我有一个从第三方注册商 (Porkbun) 购买的域名,我希望将其连接到我的 ec2 实例。我已从 AWS Route 5S 获取 NS 并将其复制到 Porkbun,因此它们应该指向 AWS Route 5S。在 Route 5S 上,我为和ec2 实例的弹性 IP 创建了 A 记录。使用时*<domain_name>
它会返回弹性 IP。www<domain_name>
@<domain_name>
nslookup <domain_name>
http://<domain_name>
当我将弹性 IP 放入 Web 浏览器中时,它会返回 apache 默认页面,尝试返回时没有任何问题ERR_CONNECTION_REFUSED
。我在 AWS 上的入站/出站规则允许从任何地方使用 http/https,唯一的限制是使用 SSH 连接到我的个人私有 IP 地址。我甚至禁用了它ufw
以查看是否会导致问题 - 结果相同。
使用网络嗅探器时,刷新浏览器时可以看到命中http:<elastic_IP>
,但浏览时什么也看不到http:<domain_name>
任何帮助将不胜感激。
http 流量的虚拟主机
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName <domain_name>
ServerAlias www.<domain_name>
DocumentRoot /var/www/<domain_name>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory />
Require all granted
</Directory>
</VirtualHost>
答案1
我使用 Certbot 创建了一个 SSL 证书,<domain_name>
在成功创建证书后,访问域名就可以了!当我尝试连接到我的域名时,我专门http://<domain_name>
在浏览器中尝试,因为我没有为 443 流量创建虚拟主机。我猜 Apache 正在将流量转发到 https 站点 - 这可以解释为什么我在尝试访问内容时收到 ERR_CONNECTION_REFUSED。