如何解决我的 EC2 Windows 实例上的网站连接问题?

2 分钟阅读
0

我想解决我在连接到我的 Amazon Elastic Compute Cloud (Amazon EC2) Windows 实例上托管的网站时遇到的问题。

简短描述

当在 Amazon EC2 实例上运行的网站不可用或无法访问时,请检查以下配置:

  • 该实例正在运行并通过了状态检查。
  • 该实例正确启动。
  • 您的实例上的 CPU、磁盘或内存未被过度使用。
  • 安全组和网络访问控制列表允许正确端口上的流量,而您的实例的路由表默认为互联网网关。
  • 您的实例具有正确的 DNS 配置。
  • Web 服务器正在运行,并且防火墙允许访问。
  • TLS/SSL 证书对 HTTPS 连接有效。

解决方法

检查实例是否正在运行并通过状态检查

确保您的实例在 Amazon EC2 控制台中列为 Running(正在运行)。如果您的实例未列为 Running(正在运行),请参阅为什么我的 EC2 Windows 实例因实例状态检查失败而关闭?

检查实例是否正确启动

检查您的实例上的 CPU、磁盘或内存是否被过度使用

检查您的实例的安全组、网络 ACL 和路由表

检查实例的 DNS 配置是否正确

  • 如果您的网站使用 Amazon Route 53 DNS 服务,请检查您是否已正确配置 DNS 记录。有关详细信息,请参阅为什么我无法访问使用 Route 53 DNS 服务的网站?
  • 确保为您的实例分配弹性 IP 地址。如果您停止并启动实例,则弹性 IP 地址仍与您的实例相关联。
  • 确保将公共 IP 地址或弹性 IP 地址映射到 A 记录
  • 如果您使用其他 DNS 托管服务,请确保在网站注册的域上更新该网站的名称服务器。

检查 Web 服务器和防火墙设置

  • 在 Windows 服务管理器中运行以下命令以检查您的 Web 服务器是否正在运行:
net Stop W3SVC
net Start W3SVC
iisreset/restart
  • 如果您的 Web 服务器未运行或您的防火墙不允许访问,则用户无法连接到您的网站。要检查您的实例是否在指定端口上响应网站,请在远程计算机上运行以下 PowerShell 命令:

**注意:**请将示例值替换为您的值。

tnc <example-public-IP> -port <example-port-number>
tnc <example-DNS-website-name> -port <example-port-number>
  • 要检查绑定到网站的端口是否处于侦听状态,请在您的实例上运行以下命令:
netstat -anob | findstr /i 80
netstat -anob | findstr /i 443

输出示例

TCP    0.0.0.0:80    0.0.0.0:0    LISTENING    4
TCP    0.0.0.0:443   0.0.0.0:0    LISTENING    4
  • 检查您的 Windows 防火墙是否阻止端口 80 或 443 上的端口连接。

要对无法访问的端口进行故障排除,请参阅为什么我无法连接到 EC2 Windows 实例上的端口?

检查 TLS/SSL 证书是否对 HTTPS 连接有效

相关信息

为什么我无法连接到托管在我的 EC2 实例上的网站?

AWS 官方
AWS 官方已更新 1 年前