凌峰创科服务平台

IIS报错找不到DNS或服务器,如何解决?

  1. DNS 解析失败:你的浏览器无法将域名(如 www.yourdomain.com)解析成服务器的 IP 地址。
  2. 服务器 IP 地址错误:你的浏览器解析到了正确的 IP,但该 IP 地址上的服务器没有配置好,或者 IIS 服务没有运行。
  3. IIS 网站配置错误:IIS 服务正在运行,但请求的 URL 路径不正确,或者网站本身没有正确绑定该域名。

下面我将按照从易到难的顺序,为你提供一个详细的排查步骤指南。

IIS报错找不到DNS或服务器,如何解决?-图1
(图片来源网络,侵删)

第一步:区分是 DNS 错误还是 IIS 错误

我们需要确定问题出在哪个环节,你可以通过一个简单的测试来区分:

  1. 在服务器的本地浏览器中,直接输入服务器的IP 地址,而不是域名。

    • http://192.168.1.100 (请替换成你服务器的实际内网或外网IP)
  2. 观察结果:

    • 情况 A:成功访问

      IIS报错找不到DNS或服务器,如何解决?-图2
      (图片来源网络,侵删)
      • 问题几乎可以肯定是 DNS 问题,服务器本身和 IIS 都没问题,是外部网络无法通过你的域名找到这个 IP 地址。
      • 下一步:跳转到 【第三部分:DNS 问题排查】
    • 情况 B:依然报错(404、403、或其他错误)

      • 问题出在服务器本身或 IIS 配置上,即使直接访问 IP 地址也无法正常工作。
      • 下一步:跳转到 【第二部分:IIS 服务器端问题排查】

第二部分:IIS 服务器端问题排查

如果直接访问 IP 地址也失败,请按以下步骤检查:

检查 IIS 服务是否运行

  • 操作

    1. Win + R,输入 services.msc 并回车。
    2. 在服务列表中找到 World Wide Web Publishing Service (或简写为 W3SVC)。
    3. 确认其“状态”为“正在运行”,“启动类型”为“自动”。
    4. 同时检查 IIS Admin Service,也必须处于“正在运行”状态。
  • 如果服务未运行

    IIS报错找不到DNS或服务器,如何解决?-图3
    (图片来源网络,侵删)
    • 右键点击服务,选择“启动”。
    • 如果启动失败,检查 Windows 事件查看器(eventvwr.msc)中的应用程序日志,查找相关的错误信息。

检查网站绑定

这是最常见的原因之一,你的网站必须“绑定”到你想要访问的域名和端口(通常是 80 或 443)。

  • 操作

    1. 打开 IIS 管理器 (inetmgr)。
    2. 在左侧“连接”面板中,展开你的服务器,然后点击“网站”。
    3. 在中间“操作”面板,点击“绑定...”。
    4. 在弹出的窗口中,检查是否有正确的条目:
      • 类型:通常是 httphttps
      • IP 地址:对于本地访问,通常填写 (表示所有未分配的 IP),如果服务器有多个网卡,请确保绑定了正确的 IP。
      • 端口80 (HTTP) 或 443 (HTTPS)。
      • 主机名这是关键! 这里必须填写你的域名,www.yourdomain.com,如果这里为空,那么只能通过 IP 地址访问。
  • 如何修正

    • 如果没有你的域名,点击“添加...”,填写完整信息。
    • 如果信息填写错误,选中它,点击“编辑...”进行修改。

检查网站物理路径

网站绑定了域名,但指向的文件夹可能不正确或内容为空。

  • 操作
    1. 在 IIS 管理器中,选中你的网站。
    2. 在中间的“操作”面板,点击“基本设置...”。
    3. 检查“物理路径”是否指向你存放网站文件(如 index.html, default.aspx)的正确文件夹。
    4. 确认该文件夹中的确有默认首页文件(如 index.html, default.htm, Default.aspx 等)。
    5. 确认 IIS 工作进程(通常是 IIS_IUSRSNETWORK SERVICE)对该文件夹有读取和执行的权限。

检查请求的 URL 路径

如果访问的是子页面或 API,而不是根目录,也可能是路径问题。

  • 操作
    • 确保你请求的 URL 路径与物理路径中的文件或虚拟目录结构匹配。
    • 物理路径是 C:\inetpub\wwwroot\site,而你访问的是 http://yourdomain.com/api/data,那么你应该在 C:\inetpub\wwwroot\site 下有一个 api 文件夹,里面包含 data 文件或处理该请求的应用程序。

检查防火墙

Windows 防火墙或第三方安全软件可能会阻止 HTTP (80) 或 HTTPS (443) 端口的入站连接。

  • 操作
    1. 打开 “Windows Defender 防火墙”
    2. 点击左侧的“允许应用或功能通过 Windows Defender 防火墙”。
    3. 找到“World Wide Web 服务 (HTTP)”或“万维网发布服务”,确保其勾选了“专用”和“公用”网络类型。
    4. 如果你使用的是第三方防火墙(如 360、火绒、诺顿等),请暂时禁用它,然后再次尝试访问,以判断是否是防火墙规则的问题。

第三部分:DNS 问题排查

如果直接访问 IP 地址成功,但访问域名失败,那么问题出在 DNS 上。

检查 DNS 记录

你需要确保你的域名解析到了正确的服务器 IP 地址。

  • 操作
    1. 登录你的域名注册商提供的 DNS 管理控制台(例如阿里云、腾讯云、GoDaddy、Namecheap 等)。
    2. 找到你的域名,检查其 DNS 记录。
    3. 确认 A 记录 是否存在且正确:
      • 主机名/类型www 或 (代表根域名)。
      • 值/指向:必须是你服务器的公网 IP 地址
    4. 如果需要,也可以添加一个 的 A 记录,使根域名(如 yourdomain.com)也能直接访问。

检查 DNS 传播

DNS 修改后,全球的 DNS 服务器需要时间来更新这个新记录,这个过程称为“DNS 传播”,传播时间可能从几分钟到 48 小时不等。

  • 如何检查
    • 使用在线 DNS 查询工具,如 WhatsMyDNS.net
    • 输入你的域名,选择 A 记录查询。
    • 如果全球各地的 DNS 服务器中,大部分还是显示旧的 IP,说明还在传播中,你需要耐心等待。

检查本地 DNS 缓存

你的电脑或网络路由器可能缓存了旧的 DNS 解析结果。

  • 操作(Windows 电脑)
    1. 打开命令提示符(CMD)或 PowerShell(以管理员身份运行)。
    2. 输入以下命令并回车,清除本地 DNS 缓存:
      ipconfig /flushdns
    3. 你会看到“已成功刷新 DNS 解析缓存”的提示。
    4. 然后尝试重新访问域名。

检查本地 Hosts 文件(本地开发测试常用)

如果你是在本地电脑上测试指向自己服务器的域名,可能会被 hosts 文件“劫持”。

  • 操作(Windows 电脑)
    1. 打开记事本,以管理员身份运行。
    2. 在记事本中,点击“文件” -> “打开”。
    3. 在文件路径栏输入 C:\Windows\System32\drivers\etc\hosts 并回车。
    4. 检查文件中是否有你的域名和对应的 IP 地址,如果有,IP 地址不正确,请在该行前面加上 将其注释掉,然后保存文件。
      # 192.168.1.100 www.yourdomain.com
    5. 清除 DNS 缓存(ipconfig /flushdns)后重试。

总结与快速自查清单

问题现象 最可能的原因 检查重点
直接访问 IP 地址成功,访问域名失败 DNS 问题 域名 A 记录是否指向正确 IP?
是否是 DNS 传播延迟?
本地 DNS 缓存或 Hosts 文件问题?
直接访问 IP 地址也失败 IIS 或服务器问题 IIS 服务是否启动?
网站绑定是否正确(IP、端口、主机名)?
物理路径是否正确且有文件?
防火墙是否阻止了 80/443 端口?
访问域名时,浏览器提示 "DNS_PROBE_FINISHED_NXDOMAIN" 域名不存在或 DNS 服务器找不到它 检查域名拼写是否正确,或者域名是否已过期/被删除。
访问域名时,浏览器提示 "ERR_CONNECTION_REFUSED" 服务器 IP 正确,但端口不通或服务未启动 检查 IIS 服务是否运行。
检查服务器防火墙是否阻止了 80/443 端口。

按照这个流程一步步排查,绝大多数 "IIS 找不到 DNS 或服务器错误" 都能得到解决,祝你顺利!

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