广告图片
TOP云-靠谱的企业级公有云服务平台

云服务器、物理服务器、云安全、SSL证书限时3折抢购!

双路E5-2640V4(40核)64G内存480G SSD硬盘30M独享带宽物理机仅需368元;香港铂金云服务器2H/2G/15M仅需19.8元/月;4H/4G/25M仅需29.8元/月,

TOP云-靠谱的企业级公有云服务平台:双路E5-2640V4(40核)64G内存480G SSD硬盘30M独享带宽物理机仅需368元;香港铂金云服务器2H/2G/15M仅需19.8元/月;4H/4G/25M仅需29.8元/月,云服务器、物理服务器、云安全、SSL证书限时3折抢购!点击这里立即抢购! 展开广告

TOP云物理服务器特惠,CPU可选双路E5-2660(32核)、双路E5-2680v2(40核)、双路E5-2696/98 V4(88核)、双路Gold 6138(80核)、双路Platinum 8173(112核);
内存从32G-128G可选,带宽有单线、多线独享20M-200M,价格低至368元。
购买链接:https://c.topyun.vip/cart?fid=1&gid=236

当用户通过浏览器访问服务器上的网站时,若遇到**“ERR_CONNECTION_REFUSED”错误(即“连接被拒绝”),通常意味着客户端无法与服务器建立网络连接。这一问题的核心原因往往是目标端口(如80、443)上的服务未运行、崩溃或被防火墙拦截**。本文将详细分析该错误的常见原因,提供系统化的排查与修复步骤,并推荐适合部署高可用网站的TOP云物理服务器立即选购高性能配置),助您快速恢复网站访问。


一、现象复现:ERR_CONNECTION_REFUSED的典型场景

1. 浏览器访问报错

  • 输入网站域名或服务器公网IP后,浏览器显示:
    PlainText

    ERR_CONNECTION_REFUSED  
    (或“无法连接到服务器”“连接被拒绝”)
  • 使用curl命令测试时,输出类似:
    Bash

    curl: (7) Failed to connect to <服务器公网IP> port 80: Connection refused

2. 端口扫描结果异常

  • 使用nmaptelnet测试目标端口时,显示端口关闭不可达
    Bash

    telnet <服务器公网IP> 80
    # 输出:Trying <服务器公网IP>...  
    #       telnet: Unable to connect to remote host: Connection refused

    Bash

    nmap -p 80 <服务器公网IP>
    # 输出:80/tcp closed http

3. 本地访问正常(可选)

  • 若在服务器本地执行curl http://localhost可返回页面,但外网无法访问,进一步说明问题出在服务对外监听配置或网络拦截。

二、核心原因:端口服务未运行或被拦截

原因1:Web服务(Nginx/Apache)未启动或崩溃

  • 现象
    • 系统未启动Nginx/Apache服务。
    • 服务因配置错误、内存不足或依赖缺失而崩溃。
  • 排查方法
    1. 检查服务状态
      Bash

      sudo systemctl status nginx   # 或 apache2

      若输出显示inactive (dead)failed,则服务未运行。

    2. 查看服务日志
      • Nginx
        Bash

        sudo tail -f /var/log/nginx/error.log
      • Apache
        Bash

        sudo tail -f /var/log/apache2/error.log

      日志中可能包含配置错误、权限问题或进程崩溃的详细信息。

    3. 尝试启动服务
      Bash

      sudo systemctl start nginx   # 或 apache2

      若启动失败,根据日志修复问题(如修正配置文件语法、安装缺失依赖)。

原因2:服务未监听公网IP或端口

  • 现象
    • Web服务配置中listen指令绑定到127.0.0.1(仅本地访问)或特定内网IP,未绑定0.0.0.0(所有网络接口)。
    • 服务监听端口非80/443(如误配置为8080但未在防火墙放行)。
  • 排查方法
    1. 检查服务监听地址与端口
      • Nginx:查看配置文件(如/etc/nginx/sites-enabled/default)中的server块:
        Nginx

        server {
            listen 0.0.0.0:80;  # 正确:允许所有网络访问
            # listen 127.0.0.1:80;  # 错误:仅本地可访问
            server_name example.com;
            # ...其他配置
        }
      • Apache:检查/etc/apache2/ports.conf或虚拟主机配置:
        Apache

        <VirtualHost *:80>  # 正确:监听所有IP的80端口
            ServerName example.com
            DocumentRoot /var/www/html
        </VirtualHost>
    2. 验证端口监听状态
      Bash

      sudo netstat -tulnp | grep :80  # 或使用 `sudo ss -tulnp | grep :80`

      正常输出应包含:

      PlainText

      tcp   0   0 0.0.0.0:80   0.0.0.0:*    LISTEN    1234/nginx

      若监听地址为127.0.0.1:80或无输出,需修正配置并重启服务。

原因3:防火墙或安全组拦截

  • 现象
    • 本地防火墙(如ufwfirewalld)或云平台安全组阻止了目标端口的入站连接。
  • 排查方法
    1. 检查本地防火墙规则
      • Ubuntu
        Bash

        sudo ufw status  # 查看防火墙状态
        sudo ufw allow 80/tcp  # 放行80端口(若未放行)
      • CentOS
        Bash

        sudo firewall-cmd --list-ports  # 查看已放行端口
        sudo firewall-cmd --add-port=80/tcp --permanent  # 永久放行80端口
        sudo firewall-cmd --reload  # 重新加载规则
    2. 检查云平台安全组
      登录云控制台,确认安全组中已放行目标端口(如80、443),协议类型为TCP,源IP为0.0.0.0/0

原因4:端口被其他程序占用

  • 现象
    • 目标端口(如80)被其他服务(如另一个Web服务器、测试工具)占用,导致当前服务无法绑定。
  • 排查方法
    1. 查找占用端口的进程
      Bash

      sudo lsof -i :80  # 或 `sudo netstat -tulnp | grep :80`

      若输出显示非Web服务进程(如pythonnode),需终止冲突进程或修改当前服务端口。

    2. 终止冲突进程
      Bash

      sudo kill -9 <PID>  # 替换<PID>为实际进程ID

原因5:服务器未绑定公网IP

  • 现象
    • 服务器仅分配了内网IP(如10.x.x.x172.x.x.x),未绑定弹性公网IP(EIP),导致外网无法访问。
  • 排查方法
    1. 登录云控制台,检查服务器是否已分配EIP。
    2. 若未分配,需绑定EIP或使用NAT网关实现外网访问。

三、解决方案:分步修复ERR_CONNECTION_REFUSED错误

步骤1:启动并验证Web服务状态

  1. 启动Nginx/Apache
    Bash

    sudo systemctl start nginx   # 或 apache2
  2. 设置开机自启(避免重启后服务停止):
    Bash

    sudo systemctl enable nginx   # 或 apache2
  3. 验证服务状态
    Bash

    sudo systemctl status nginx   # 应显示 `active (running)`

步骤2:修正服务监听配置

  1. 编辑Nginx配置文件
    Bash

    sudo nano /etc/nginx/sites-enabled/default

    确保server块中包含:

    Nginx

    listen 0.0.0.0:80;
    server_name example.com;
  2. 编辑Apache配置文件(如适用):
    Bash

    sudo nano /etc/apache2/ports.conf

    确保包含:

    Apache

    Listen 80

    并在虚拟主机配置中设置:

    Apache

    <VirtualHost *:80>
        ServerName example.com
        # ...其他配置
    </VirtualHost>
  3. 测试配置语法
    • Nginx
      Bash

      sudo nginx -t  # 应输出 `syntax is ok` 和 `test is successful`
    • Apache
      Bash

      sudo apachectl configtest  # 应输出 `Syntax OK`
  4. 重启服务
    Bash

    sudo systemctl restart nginx   # 或 apache2

步骤3:检查端口占用与防火墙规则

  1. 确认目标端口由Web服务占用
    Bash

    sudo lsof -i :80

    正常输出应显示:

    PlainText

    nginx   1234   root    6u  IPv4  12345      0t0  TCP *:http (LISTEN)

    若进程为其他程序,需终止冲突进程或修改服务端口。

  2. 放行本地防火墙端口
    • Ubuntu
      Bash

      sudo ufw allow 80/tcp
    • CentOS
      Bash

      sudo firewall-cmd --add-port=80/tcp --permanent
      sudo firewall-cmd --reload
  3. 检查云平台安全组
    确保安全组中已放行目标端口(如80、443),源IP为0.0.0.0/0

步骤4:优化服务器性能(可选)

  • 高并发场景建议
    若网站流量较大,升级至TOP云物理服务器查看配置详情),例如:
    • 双路E5-2696/98 V4(88核) + 128G内存:轻松应对万级并发请求。
    • 多线独享100M带宽:降低网络延迟,提升外网访问速度。

四、推荐:TOP云物理服务器——稳定网站运行的硬件基础

网站访问稳定性依赖服务器性能与网络质量。TOP云物理服务器提供以下优势,可显著降低服务崩溃风险:

  • 高性能CPU选项

    • 双路E5-2660(32核):适合中小规模网站,性价比高。
    • 双路Platinum 8173(112核):企业级核心业务首选,轻松应对高并发。
  • 大内存与高速存储

    • 内存32G-128G可选,避免内存不足导致服务崩溃。
    • 企业级NVMe SSD存储,加速网站响应,提升用户体验。
  • 独立物理资源

    • 独享CPU、内存、网络带宽,避免虚拟化层性能波动影响稳定性。
  • 多线独享带宽

    • 提供单线、多线独享20M-200M带宽,优化网络路由,降低外网访问延迟。
  • 超值特惠
    价格低至368元/月,高性价比之选!

🚀 立即选购:TOP云物理服务器特惠链接


五、总结

服务器网站访问报错“ERR_CONNECTION_REFUSED”,通常因Web服务未启动、监听配置错误、端口被占用或防火墙拦截导致。通过启动服务、修正配置、检查端口占用与防火墙规则,可快速解决问题。TOP云物理服务器点击购买)以高性能硬件与优质网络,为您提供稳定、高速的网站运行环境!

阿, 信