凌峰创科服务平台

iis服务器或DNS错误,如何快速排查解决?

这个问题的根源绝大多数情况不在 IIS 服务器本身,而在客户端或网络环境,下面我将为你详细拆解可能的原因和对应的解决方案。

iis服务器或DNS错误,如何快速排查解决?-图1
(图片来源网络,侵删)

核心概念:DNS 是什么?

DNS 就像互联网的“电话簿”,你访问 www.example.com 时,浏览器需要先问 DNS:“这个域名对应的 IP 地址是多少?”,然后浏览器才能去连接那个 IP 地址上的服务器。

“找不到服务器或 DNS 错误”通常发生在“问电话簿”这个环节就出错了。


排查步骤(从易到难,从客户端到服务器)

请按照以下顺序逐一排查,这能帮你快速定位问题。

第一步:在客户端电脑上排查(最常见)

这是 90% 的情况下问题所在。

iis服务器或DNS错误,如何快速排查解决?-图2
(图片来源网络,侵删)

检查 DNS 服务器设置

你的电脑可能使用了错误的或失效的 DNS 服务器。

  • Windows 系统:
    1. 打开“控制面板” -> “网络和 Internet” -> “网络和共享中心”。
    2. 点击你正在使用的网络连接(如“WLAN”或“以太网”),然后点击“属性”。
    3. 双击列表中的“Internet 协议版本 4 (TCP/IPv4)”。
    4. 查看这里的设置:
      • 如果选择“自动获得 DNS 服务器地址”:可能是你的路由器或 ISP(网络服务商)提供的 DNS 出了问题,可以尝试临时改为公共 DNS。
      • 如果选择“使用下面的 DNS 服务器地址”:请检查填写的 DNS 地址是否正确,常见的公共 DNS 有:
        • Google DNS: 8.8.88.4.4
        • Cloudflare DNS: 1.1.10.0.1
        • 阿里云 DNS: 5.5.56.6.6
    5. 将其改为一个可靠的公共 DNS,然后确定,刷新页面试试。

清除本地 DNS 缓存

本地可能缓存了错误的 DNS 记录。

  • Windows 系统:

    • 打开“命令提示符”(CMD)或“PowerShell”(管理员权限)。
    • 输入命令:ipconfig /flushdns
    • 看到“已成功刷新 DNS 解析缓存”提示后,再次尝试访问。
  • macOS 系统:

    iis服务器或DNS错误,如何快速排查解决?-图3
    (图片来源网络,侵删)
    • 打开“终端”。
    • 输入命令:sudo dscacheutil -flushcachesudo killall -HUP mDNSResponder

检查 Hosts 文件

Hosts 文件是一个可以强制将域名指向某个 IP 地址的本地文件,它的优先级高于 DNS,如果这里被错误地修改了,就会导致访问失败。

  • Windows 系统:

    1. 打开记事本(以管理员身份运行)。
    2. 在“文件” -> “打开”中,导航到路径:C:\Windows\System32\drivers\etc\
    3. 将“文件类型”从“文本文档 (.txt)”改为“所有文件 (.*)”,然后选择 hosts 文件打开。
    4. 查看文件内容,找到你的域名(www.yourdomain.com),如果它前面有一个 号,表示被注释了,没问题,如果没有 号,并且后面的 IP 地址不是你服务器的正确 IP,就需要修改或删除这行。
    5. 保存文件(可能需要管理员权限),然后刷新页面。
  • macOS/Linux 系统:

    • 路径通常是:/etc/hosts
    • 使用终端命令 sudo nano /etc/hosts 进行编辑。

使用不同的网络环境测试

  • 切换网络: 如果你现在用公司 Wi-Fi 上网失败,试试用手机热点访问,如果热点可以访问,说明是公司网络的 DNS 或防火墙问题。
  • 换台电脑: 用另一台电脑连接同一个网络,访问同一个域名,如果另一台电脑可以访问,说明是你这台电脑的配置问题(如 hosts 文件、DNS 缓存等)。

第二步:在服务器端排查(如果客户端排查无果)

如果客户端网络和设置都正常,那问题可能出在服务器或服务器与客户端之间的网络路径上。

确认网站在 IIS 中已启动并绑定正确

  1. 登录你的 IIS 服务器。
  2. 打开“IIS 管理器”。
  3. 在左侧“连接”面板中,展开你的服务器,然后点击“网站”。
  4. 找到你的网站,确保它的状态是“已启动”。
  5. 选中你的网站,在右侧的“操作”面板中点击“绑定...”。
  6. 检查绑定的信息:
    • 类型: 通常是 httphttps
    • IP 地址: 如果你的服务器有多个网卡或 IP 地址,确保选择了正确的那个。 (全部未分配) 是可以的。
    • 端口: http 默认是 80https 默认是 443
    • 主机名: 这是最关键的一步! 这里必须填写你的域名(www.yourdomain.com),如果留空,就只能通过 IP 地址访问,如果填写错误,自然就解析不到正确的网站了。

检查 Windows 防火墙

服务器的防火墙可能阻止了外部对 80 (HTTP) 或 443 (HTTPS) 端口的访问。

  1. 打开“Windows Defender 防火墙”。
  2. 点击左侧的“允许应用或功能通过 Windows Defender 防火墙”。
  3. 点击“更改设置”(需要管理员权限)。
  4. 找到“World Wide Web 服务 (HTTP)”或“World Wide Web 服务 (HTTPS)”,确保它们在“专用”和“公用”网络类型下都是勾选状态。
  5. 或者,更直接的方法是暂时关闭防火墙进行测试(注意:测试后务必重新开启!),如果关闭后可以访问,就说明是防火墙规则的问题,需要按照上面的步骤正确配置。

检查网站本身的代码和状态

虽然 DNS 错误通常不指向这里,但也不能完全排除。

  • 应用程序池: 在 IIS 管理器中,检查你的网站对应的“应用程序池”是否正在运行,如果应用程序池崩溃,网站也无法响应。
  • 网站首页文件: 检查网站根目录下是否有正确的首页文件(如 default.aspx, index.html 等)。

第三步:检查域名解析(DNS 记录)

这是连接客户端和服务器桥梁的关键环节。

使用 nslookup 命令测试

在你的客户端电脑上(或者任何可以上网的电脑)打开命令提示符,输入:

nslookup www.yourdomain.com
  • **情况一:显示 *** www.yourdomain.com can't be found: Non-existent domain**

    • 原因: 你的域名注册商(如 GoDaddy, 阿里云等)没有正确设置 A 记录。
    • 解决: 登录你的域名注册商管理后台,找到 DNS 解析设置,添加一条 A 记录:
      • 类型: A
      • 主机记录: www (或者 代表根域名)
      • 记录值: 你的服务器的公网 IP 地址。
  • 显示了一个 IP 地址,但这个 IP 不是你的服务器 IP

    • 原因: A 记录设置错误,或者 DNS 服务器缓存了旧记录。
    • 解决: 检查域名注册商的 A 记录是否正确,如果刚修改过,可能需要等待 DNS 传播(通常几分钟到48小时),或者让域名注册商刷新缓存。
  • 显示 *** request timed out 或 `* no servers could be reached`**

    • 原因: 你的客户端电脑无法连接到任何 DNS 服务器。
    • 解决: 回到第一步,检查你电脑的 DNS 服务器设置。

总结与快速自查清单

遇到“IIS 找不到服务器或 DNS 错误”,请按此清单快速检查:

  1. 换个地方上网:用手机热点试试,如果可以,问题在原网络。
  2. 换个电脑试试:如果别的电脑可以,问题在你这台电脑。
  3. 清 DNS 缓存:在客户端运行 ipconfig /flushdns
  4. 改 DNS 服务器:在客户端把 DNS 改成 8.8.8
  5. 检查 Hosts 文件:确保没有把你的域名指向错误 IP。
  6. 检查域名 A 记录:用 nslookup 命令确认域名是否解析到了正确的服务器公网 IP。
  7. 检查 IIS 网站绑定:确保主机名填写正确,网站状态为“已启动”。
  8. 检查服务器防火墙:确保允许了 80 和 443 端口。

按照这个流程,绝大多数问题都能被解决,祝你好运!

分享:
扫描分享到社交APP
上一篇
下一篇