ServBay 常见问题解答
在使用 ServBay 本地 Web 开发环境时,开发者可能会遇到一些问题。本文档旨在解答其中的常见问题:ServBay Runtime 的升级、如何解决 ClashX Pro 等代理工具影响本地网站访问的问题,以及 dnsmasq 服务导致的网络访问故障。
如何升级 ServBay Runtime?
ServBay Runtime 是 ServBay 的核心组件,对于确保 ServBay 及其托管服务的稳定运行至关重要。当有新版本发布时,ServBay 会在启动时提示用户进行升级。及时更新 Runtime 有助于提升 ServBay 的整体性能和稳定性,并确保兼容性。
要升级 ServBay Runtime,请按照以下步骤操作:
- 打开 ServBay 应用程序。
- 在 ServBay 窗口的左侧导航栏中,选择 软件包 > 通用服务。
- 在右侧面板中,找到 ServBay Runtime 条目。
- 如果 ServBay Runtime 有可用更新,它会显示黄色的升级提示或一个升级按钮。点击此黄色的升级按钮。
- ServBay 将开始下载并安装最新版本的 Runtime。请耐心等待升级过程完成。
完成升级后,ServBay Runtime 将运行在最新版本,从而获得更好的稳定性和性能。
为什么使用 ClashX Pro (或其他代理工具) 后 ServBay 中的本地网站无法访问?
许多开发者使用 ServBay 在本地进行开发和测试,通常会配置自定义的本地域名(例如 servbay.demo
, myproject.servbay.demo
等),这些域名通常解析到本地回环地址 127.0.0.1
。
当您使用 ClashX Pro 或其他一些 VPN/代理工具(如 Surge, Quantumult X 等)时,这些工具可能会通过劫持或重定向 DNS 请求来强制所有域名解析通过其代理服务器进行。这种行为会绕过操作系统本身的 DNS 解析流程以及本地的 hosts 文件设置(ServBay 的本地域名解析通常依赖于此),导致您在 ServBay 中配置的本地开发域名无法正确解析到本地 IP 地址,从而无法访问您的本地网站。
要解决此问题,您需要在代理工具的配置中添加规则,指示其对于您的本地开发域名不进行代理或不劫持其 DNS 请求。这通常是通过配置“绕过代理”、“忽略代理”、“白名单”或“排除列表”来实现。
以 ClashX Pro 为例,请按照以下步骤配置:
- 打开 ClashX Pro 应用程序。
- 在 macOS 菜单栏中找到 ClashX Pro 图标,点击它,然后选择 更多设置。
- 在打开的设置窗口中,导航到 通用 选项卡。
- 找到名为 忽略这些主机与域的代理设置(或类似名称)的输入框。
- 将您的本地开发域名添加到此列表中。为了覆盖 ServBay 中常见的本地域名,建议添加
localhost
,127.0.0.1
, 以及您在 ServBay 中使用的具体域名或通配符域名。例如,如果您使用.servbay.demo
作为本地域名后缀,可以添加*.servbay.demo
。多个条目之间通常使用英文逗号,
或换行分隔。一个典型的配置可能包含:localhost, 127.0.0.1, *.servbay.demo, yourproject.servbay.demo
1 - 保存设置并根据 ClashX Pro 的提示,可能需要重新加载或应用配置才能使更改生效。
(图示:在 ClashX Pro 中配置忽略代理的主机和域)
完成以上配置后,ClashX Pro 将不再干扰这些特定的本地域名的解析,您的 ServBay 本地网站应该就能正常访问了。如果问题依旧存在,请确认您在 ServBay 的 网站 设置中正确配置了该域名,并且 ServBay 的相关服务(如 Caddy 或 Nginx)正在正常运行。您也可以尝试使用终端命令 ping yourproject.servbay.demo
或 dig yourproject.servbay.demo
来诊断域名的解析情况。
为什么启用 ServBay 的 dnsmasq 后重启系统无法访问任何网站?
如果您在启用 ServBay 的 dnsmasq 服务后,重启系统发现无法访问任何网站,这通常是因为系统的 DNS 配置出现了问题。ServBay 的 dnsmasq 服务运行在本地 127.0.0.1
上,当您将系统的 DNS 服务器设置为 127.0.0.1
时,所有的 DNS 请求都会转发到 dnsmasq 进行解析。
如果在系统重启后 dnsmasq 服务没有成功启动,但系统的 DNS 服务器仍然指向 127.0.0.1
,那么所有的 DNS 查询都会失败,导致无法访问任何网站。
解决方案
请按照以下步骤进行排查和解决:
检查 dnsmasq 服务状态
首先,打开 ServBay 应用程序,检查 dnsmasq 服务是否正在运行:
- 在 ServBay 窗口的左侧导航栏中,选择 软件包 > 通用服务
- 找到 dnsmasq 服务,查看其运行状态
- 如果服务未运行,请尝试手动启动该服务
检查系统 DNS 设置
如果 dnsmasq 服务无法正常启动或您暂时不需要使用它,请按照以下步骤从系统 DNS 设置中移除
127.0.0.1
:- 打开 系统设置(或系统偏好设置)
- 进入 网络 设置
- 选择您当前使用的网络连接(如 Wi-Fi 或以太网)
- 点击 详细信息... 或 高级...
- 切换到 DNS 选项卡
- 在 DNS 服务器列表中,找到并删除
127.0.0.1
这一条目 - 您可以添加其他公共 DNS 服务器,例如:
8.8.8.8
(Google DNS)1.1.1.1
(Cloudflare DNS)223.5.5.5
(阿里云 DNS)
- 点击 好 或 应用 保存更改
重新启用 dnsmasq(可选)
解决 DNS 访问问题后,如果您需要使用 ServBay 的 dnsmasq 服务进行本地域名解析,请:
- 确保 dnsmasq 服务在 ServBay 中正常启动
- 再次将
127.0.0.1
添加到系统 DNS 服务器列表的最前面 - 确保 dnsmasq 服务配置正确,能够转发外部域名请求到上游 DNS 服务器
通过以上步骤,您应该能够恢复网络访问。建议在使用 dnsmasq 时,确保服务已经正常运行后再修改系统 DNS 设置,避免出现类似问题。