在 ServBay 中通过反向代理添加 Node.js 网站
ServBay 作为一款全面的本地 Web 开发环境,原生支持多种技术栈,包括 Node.js。本文将详细介绍如何在 ServBay 中利用反向代理功能,将您独立运行的 Node.js 应用程序集成到 ServBay 的网站管理体系中。通过这种方式,您可以方便地使用 ServBay 的统一入口(如自定义域名、SSL 证书)来访问和管理您的 Node.js 开发项目。
概述
尽管 ServBay 提供了直接运行 Node.js 应用程序的方式(例如通过 ServBay 软件包安装 Node.js 并运行脚本),但将一个已在特定端口监听的 Node.js 应用通过反向代理添加到 ServBay 作为网站,是一种常见且灵活的集成方式。这允许您利用 ServBay 的网络配置能力(如域名解析、SSL/TLS 终止)来管理您的 Node.js 应用访问。本文将引导您完成配置过程。
前提条件
在开始之前,请确保:
- 您已在 macOS 上成功安装 ServBay。
- 您的 Node.js 项目已经在本地运行,并监听一个特定的端口(例如
8585
)。
操作步骤
步骤 1:运行 Node.js 项目
首先,确保您的 Node.js 项目已在本地运行并监听指定端口。您可以使用您习惯的方式启动 Node.js 应用。
假设您当前运行了一个 Vue.js 项目的开发服务器,监听在端口 8585
:
$ npm run dev -- --port 8585
Server running at http://localhost:8585/
2
请记下您的 Node.js 应用正在监听的 IP 地址(通常是 127.0.0.1
)和端口。
步骤 2:打开 ServBay 管理界面
在您的 macOS 应用程序目录中找到 ServBay
图标,双击启动 ServBay 应用。
步骤 3:导航到网站管理
ServBay 启动后,您将看到其主界面。在左侧的导航菜单中,点击 网站。这将带您进入网站管理页面,您可以在此处管理所有通过 ServBay 托管或代理的网站。
步骤 4:添加新网站
在网站管理页面的底部,找到并点击 +
按钮。这将展开一个表单区域,用于输入新网站的配置信息。
5:配置网站设置
在添加新网站的表单中,您需要填写以下关键信息来配置反向代理:
- 名称 (Name):为您的网站指定一个易于识别的名称,例如
My Node.js App
。这仅用于 ServBay 界面中的显示。 - 域名 (Domain):输入您希望通过浏览器访问此 Node.js 应用的本地域名。建议使用 ServBay 推荐的
.servbay.demo
后缀,例如nodejs.servbay.demo
。ServBay 会自动配置本地 DNS 解析,指向127.0.0.1
。 - 协议 (Protocol):选择网站支持的协议。通常保持默认的
HTTP/HTTPS
即可。ServBay 将同时监听 HTTP 和 HTTPS 端口。 - SSL 证书请求方式 (SSL Certificate Method):对于本地开发,强烈建议选择
ServBay CA
。ServBay 会自动为您生成并安装一个由 ServBay 根证书签发的 SSL 证书。安装 ServBay 根证书到您的系统和浏览器后,访问此网站的 HTTPS 版本将不会出现证书警告。您也可以选择ServBay Public CA
或ACME
(用于申请公共信任的证书),但这通常用于需要外部访问的场景。 - 网站类型 (Site Type):务必选择
反向代理 (Reverse Proxy)
。这告诉 ServBay 将所有指向此域名的请求转发到其他地方,而不是直接从文件系统提供服务。 - IP 地址 (IP Address):输入您的 Node.js 应用正在监听的 IP 地址。对于本地运行的应用,通常是
127.0.0.1
(即本地回环地址)。 - 端口 (Port):输入您的 Node.js 应用正在监听的端口号,例如
8585
。ServBay 会将收到的请求转发到127.0.0.1:8585
。
步骤 6:完成并保存
填写完所有必要的配置信息后,点击表单下方的 添加 (Add)
按钮。ServBay 将保存您的设置,并自动更新其内部配置(例如 Web 服务器和 DNS 设置)。
保存成功后,您可以在 ServBay 网站列表中看到新添加的 nodejs.servbay.demo
条目。此时,您应该可以通过在浏览器中输入您设置的域名(例如 http://nodejs.servbay.demo
或 https://nodejs.servbay.demo
)来访问您的 Node.js 应用了。点击网站条目旁边的浏览器图标可以快速打开网站。
步骤 7:快捷操作
ServBay 为每个添加的网站提供了一系列方便的快捷操作按钮,位于网站列表的右侧:
- 使用 IDE 打开网站根目录:对于反向代理网站,此按钮可能不直接跳转到 Node.js 项目目录,而是 ServBay 默认的网站根目录
/Applications/ServBay/www
或其他配置的目录。 - 在浏览器中打开网站:快速在默认浏览器中打开网站 URL。
- 查看网站日志:查看 ServBay Web 服务器(如 Caddy 或 Nginx)为此网站生成的访问和错误日志。这对于调试非常有用。
- 暂停/开启网站:临时禁用或重新启用该网站的访问。
- 删除网站:从 ServBay 中移除该网站配置。
常见问题 (FAQ)
- 访问域名时显示 ServBay 默认页面或错误?
- 请确保您的 Node.js 应用已在正确的 IP 和端口上运行。
- 检查 ServBay 中网站配置的 IP 地址和端口是否与您的 Node.js 应用监听的地址和端口完全一致。
- 确认 ServBay 本身正在运行中。
- 如果您使用的是
.servbay.demo
域名,请确认 ServBay 的 DNS 服务正在运行且您的系统网络设置允许 ServBay 接管.servbay.demo
的解析。
- HTTPS 访问出现证书警告?
- 如果您选择了
ServBay CA
,请确保您已经在系统和浏览器中安装并信任了 ServBay 的根证书。ServBay 提供了方便的安装入口。 - 如果您选择了
ServBay Public CA
或ACME
,请确认证书已成功颁发并配置正确。
- 如果您选择了
总结
通过反向代理功能,ServBay 提供了一种灵活的方式来集成和管理本地运行的 Node.js 应用程序。您可以利用 ServBay 强大的 Web 服务器功能(如自定义域名、自动 SSL 证书管理)来为您的 Node.js 开发项目提供统一的访问入口和便利的管理体验。遵循本文的步骤,您可以轻松地在 ServBay 环境中设置并访问您的 Node.js 网站。