
# 网站无法访问怎么办？
#### 问题描述
网站的访问与云服务器的网络配置、端口通信、防火墙配置、安全组配置等多个环节相关联。任意一个环节出现问题，都会导致网站无法访问。本节操作介绍网站无法访问时的排查思路。
#### 视频帮助
<video controls="controls" preload="none" id="object2521181419509" class="idp-external-video" src="https://res-video.hc-cdn.com/cloudbu-site/china/zh-cn/support/ecs-video/1751031042739317757.mp4" title="网站无法访问怎么办？" poster="https://support.huaweicloud.com/trouble-ecs/zh-cn_image_0000002372040266.jpg" height="340.0000" width="600.0000"></video>
#### 排查思路
如果打开网站有报错提示信息，首先应该根据报错提示信息，排查可能的原因。
您可以参考[通用请求返回值](https://support.huaweicloud.com/api-ecs/ecs_07_0001.html)中错误码说明排查可能原因。
![](https://support.huaweicloud.com/trouble-ecs/public_sys-resources/note_3.0-zh-cn.png)
如果报错提示信息无法帮助您准确定位问题，请记录资源信息和问题时间，然后单击[提交工单](https://console.huaweicloud.com/ticket/#/ticketindex/createIndex)，填写工单信息，获取技术支持。
您还可以根据以下排查思路进行问题定位，排查思路根据可能原因的出现概率进行排序，建议您从高频率原因往低频率原因排查，从而帮助您快速找到问题的原因。
如果解决完某个可能原因仍未解决问题，请继续排查其他可能原因。
图1网站无法访问排查思路   
![](https://support.huaweicloud.com/trouble-ecs/zh-cn_image_0274528792.png "点击放大")
表1网站无法访问排查思路 
| 可能原因               | 处理措施                                                                                           |
|:---|:---|
| 检查端口通信             | 检查Web端口是否正常监听，详细操作请参考[检查端口通信问题]。                        |
| 检查安全组规则            | 检查安全组是否放通Web端口，详细操作请参考[检查安全组规则]。                       |
| 检查防火墙配置            | 测试防火墙关闭后是否可以正常访问，详细操作请参考[检查防火墙配置]。                    |
| 检查云服务器路由配置         | 查看云服务器路由表中网关信息配置是否正确，详细操作请参考[检查云服务器路由配置]。               |
| 检查本地网络             | 更换手机热点或其他网络测试是否可以正常访问，详细操作请参考[检查本地网络]。               |
| 检查云服务器CPU利用率       | 定位影响云服务器CPU利用率高的进程并优化进程，详细操作请参考[检查云服务器CPU利用率]。        |
| 检查域名解析（适用于域名访问的场景） | 域名解析配置是否配置正确，详细操作请参考[检查备案与域名解析是否正常（使用域名无法访问时适用）]。      |
| 检查域名备案（适用于域名访问的场景） | 网站的域名和服务器IP是否备案成功，详细操作请参考[检查备案与域名解析是否正常（使用域名无法访问时适用）]。 |
   
 #### 检查端口通信问题
确保服务进程和端口正常工作，处于LISTEN状态。[表2]为常见TCP状态。
- Linux操作系统云服务器端口通信问题排查 使用**netstat -antpu**命令检查服务的状态，确认端口是否正常监听。
  例如：**netstat -antpu \|grep sshd**
  图2查看端口监听状态_linux   
  ![](https://support.huaweicloud.com/trouble-ecs/zh-cn_image_0274514962.png "点击放大")
  - 如果端口被正常监听，请执行[检查安全组规则]。
  
  - 如果端口没有被正常监听，请检查Web服务进程是否启动或者正常配置。
    
- Windows操作系统云服务器端口通信问题排查 使用远程端口检测命令：
  1. 打开CMD命令行窗口。
  
  2. 执行**netstat** **-ano \| findstr "** ***端口*** **"** 命令查看进程使用的端口号。
     例如：**netstat -ano \| findstr "80"**
     图3查看端口监听状态_windows   
     ![](https://support.huaweicloud.com/trouble-ecs/zh-cn_image_0284769637.png "点击放大")
     - 如果端口被正常监听，请执行[检查安全组规则]。
     
     - 如果端口没有被正常监听，请检查Web服务进程是否启动或者正常配置。
       
   
 表2常见TCP状态 
| TCP状态       | 说明                          | 对应场景                                                  |
|:---|:---|:---|
| LISTEN      | 侦听来自远方的TCP端口的连接请求           | 正常TCP服务端                                              |
| ESTABLISHED | 代表一个打开的连接                   | 正常TCP连接                                               |
| TIME-WAIT   | 等待足够的时间以确保远程TCP接收到连接中断请求的确认 | 已关闭的TCP连接，一般1分钟后清除。                                   |
| CLOSE-WAIT  | 等待从本地用户发来的连接中断请求            | 应用程序BUG，没有关闭socket。出现在网络中断后。一般是进程死循环或等待其他条件。可以重启对应进程。 |
| FIN-WAIT-2  | 从远程TCP等待连接中断请求              | 网络中断过，需要12分钟左右自行恢复。                                   |
| SYN-SENT    | 发送连接请求后等待匹配的连接请求            | TCP连接请求失败。一般是服务端CPU占用率过高，处理不及时导致。DDos攻击也会出现此情况。       |
| FIN-WAIT-1  | 等待远程TCP连接中断请求，或先前的连接中断请求的确认 | 网络中断过，此状态可能不会自行修复（等15分钟以上确认），如果长期占用端口需要重启OS恢复。        |
   
 #### 检查安全组规则
如果安全组没有网站访问使用的端口，需要在云服务器实例对应的安全组中添加放行该端口的规则。
1. 登录管理控制台。
2. 选择"计算 \> 弹性云服务器"。
3. 在弹性云服务器列表，单击待变更安全组规则的弹性云服务器名称。
4. 选择"安全组"页签。
5. 在左侧的"全部安全组"区域，单击待变更的安全组右侧的"配置规则"
6. 根据网站使用的端口配置新的安全组规则，放行网站使用的端口。 放行端口的详细操作，请参见[配置安全组规则](https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0030878383.html)。
   
 
 #### 检查防火墙配置
- Linux操作系统云服务器，关闭防火墙后测试是否可以正常访问。
  以CentOS 6.8操作系统80端口为例。
  1. 使用**iptables -nvL --line-number**命令查看已配置的防火墙策略。
  
  2. 依次执行以下命令放行80端口。 **iptables** **-A INPUT -p tcp --dport 80 -j ACCEPT**
     **iptables** **-A OUTPUT -p tcp --sport 80 -j ACCEPT**
     
  
  3. 使用**service iptables save**命令保存添加的规则。
  
  4. 使用**service iptables restart**命令重启iptables。
  
  5. 使用**iptables -nvL --line-number**命令查看增加的规则是否生效。
  
  6. 关闭防火墙后，重新测试网站访问是否正常。
    
- Windows操作系统云服务器，关闭防火墙后测试是否可以正常访问。
  1. 登录Windows云服务器。
  
  2. 单击桌面左下角的Windows图标，选择"控制面板 \> Windows防火墙"。 ![](https://support.huaweicloud.com/trouble-ecs/zh-cn_image_0274514965.png "点击放大")
     
  
  3. 单击"启用或关闭Windows防火墙"。 查看并设置防火墙的具体状态：开启或关闭。
     ![](https://support.huaweicloud.com/trouble-ecs/zh-cn_image_0274514966.png "点击放大")
     
  
  
  
  4. 关闭防火墙后，重新测试网站访问是否正常。
   
 
 #### 检查云服务器路由配置
- Linux操作系统云服务器
  1. 使用**route** 命令查看路由策略，确保0.0.0.0的默认路由指向网关，使用的IP和网关在相同网段，如下图第1行和第3行所示。
     ![](https://support.huaweicloud.com/trouble-ecs/zh-cn_image_0189384216.png "点击放大")
     
  
  2. 使用**ifconfig** 或者**ip addr** 命令查看实例的IP地址。
     图4ifconfig命令查看IP地址   
     ![](https://support.huaweicloud.com/trouble-ecs/zh-cn_image_0000001935755993.png "点击放大")
     图5ip addr命令查看IP地址   
     ![](https://support.huaweicloud.com/trouble-ecs/zh-cn_image_0000001893637002.png "点击放大") 
  
  3. 使用**route -n** 命令通过路由表查看网关。
     [图6]为示例，具体以云服务器网关实际地址为准。
     图6route -n命令查看网关   
     ![](https://support.huaweicloud.com/trouble-ecs/zh-cn_image_0000001893477510.png "点击放大") 
   
 
- Windows操作系统云服务器
  1. 打开CMD命令行窗口。
  
  2. 执行**ipconfig** 命令查看实例的IP地址。
     图7ipconfig命令查看IP地址   
     ![](https://support.huaweicloud.com/trouble-ecs/zh-cn_image_0178480653.png "点击放大") 
  
  3. 执行**route print** 命令通过路由表查看网关。
     图8route print命令查看网关   
     ![](https://support.huaweicloud.com/trouble-ecs/zh-cn_image_0178480686.png "点击放大") 
   
 #### 检查本地网络
更换手机热点或其他网络测试是否可以访问网站。
如果可以正常访问说明云服务器的网络配置正常，请排除本地网络故障后重新测试访问网站。
 #### 检查云服务器CPU利用率
云服务器的带宽和CPU利用率过高可能导致网站无法访问。如果您已经通过云监控服务[创建过告警任务](https://support.huaweicloud.com/usermanual-ces/zh-cn_topic_0084572213.html)，当CPU或带宽利用率高时，系统会自动发送告警给您。
1. 定位影响云服务器带宽和CPU利用率高的进程。
   - Windows操作系统本身提供了较多工具可以定位问题，包括任务管理器、性能监视器(Performance Monitor)、资源监视器(Resource Monitor)、Process Explorer、Xperf (Windows server 2008 以后)和抓取系统Full Memory Dump检查。
   
   - Linux操作系统执行**top**命令查看当前系统的运行状态。
    

2. 问题处理：排查进程是否正常，并分类进行处理。
   - 正常进程：优化程序，或参考[变更规格通用操作](https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0013771092.html)。
   
   - 异常进程：建议您手动关闭进程，您也可以借助第三方工具关闭进程。
    
 
 #### 检查备案与域名解析是否正常（使用域名无法访问时适用）
完成上述的排查后，请使用弹性公网IP进行访问。如果使用IP地址可以访问，但是域名访问失败，则可能是域名备案或者解析相关问题造成网站无法访问。
网站的访问与域名的状态、域名实名认证状态、网站备案状态、解析是否生效、网站网络环境等多个环节有关系。在这些环节中，任意一个环节出现问题，都会导致网站无法访问。
关于域名与备案解析的排查思路请参考[网站无法访问排查思路（排查域名与备案解析）](https://support.huaweicloud.com/dns_faq/dns_faq_140401.html)。
1. 检查域名备案。 备案是中国大陆的一项法规，网站的域名和服务器IP需要进行备案，备案成功后您的域名才可以指向服务器开通访问。
   - 如果您使用中国大陆节点服务器提供互联网信息服务，需要先在服务器提供商处提交备案申请，备案成功后域名才可以指向服务器开通访问。[如何备案？](https://beian.huaweicloud.com/)
   
   - 如果您使用的是中国大陆地区以外的服务器（包括中国港澳台及其他国家、地区）提供互联网信息服务，无需备案。
   
   - 如果您的域名已在其他接入商办理过备案并取得备案号，现在更换到华为云服务器进行域名解析（或者二级域名指向华为云），因接入商有变更，需要您在华为云做[接入备案](https://support.huaweicloud.com/usermanual-icp/zh-cn_topic_0000002092033126.html)。
     ![](https://support.huaweicloud.com/trouble-ecs/public_sys-resources/note_3.0-zh-cn.png)
     - 请确保网站内容与备案信息一致，且备案信息真实有效。
     
     - 如果您的网站已备案成功仍无法访问，请等待一个工作日。由于信息同步延迟，备案通过一个工作日后网页会自动开放。
       
    
2. 检查域名解析。 如果域名已备案，但未正确配置域名解析也可能会导致域名无法Ping通。
   您可以DNS服务控制台查看域名解析详情。
   
3. 检查DNS服务器配置。 如果ping *域名* 显示找不到主机可能是DNS服务器速度慢，导致的访问卡顿，建议您参考案例：[弹性云服务器访问中国大陆外网站时加载缓慢怎么办？](https://support.huaweicloud.com/trouble-ecs/zh-cn_topic_0138914423.html)进行优化。
   
