配置
本页记录了 node-hiprint-transit 的配置系统。它解释了如何设置和修改服务器配置,包括端口设置、身份验证令牌、SSL/TLS 选项和语言首选项。有关 SSL/TLS 证书设置的信息,请参阅"SSL/TLS 设置"。
配置概述
node-hiprint-transit 服务器使用一个简单的 JSON 配置文件来存储其设置。此配置控制服务器行为的关键方面,包括:
- 通信端口
- 身份验证令牌
- SSL/TLS 加密
- 语言首选项
配置过程图
(注意:原文中此处包含一个配置过程图,本文档无法直接展示,请参考源文档。)
配置文件
配置存储在位于 dist/config.json 的 JSON 文件中。在运行初始化脚本时,会创建或更新此文件。
默认配置
(注意:原文中此处应包含默认配置的 JSON 示例,请参考源文档。)
配置参数
下表详细说明了每个配置参数:
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
port | Number | 17521 | 服务器监听的 TCP 端口 (必须在 10000-65535 之间) |
token | String | "hiprint" | 客户端的身份验证令牌 (至少 6 个字符,可包含通配符) |
useSSL | Boolean | false | 是否启用 SSL/TLS 加密 |
lang | String | "en" | 服务器语言 (支持 "en" 代表英语或 "zh" 代表中文) |
端口配置
服务器端口决定了 node-hiprint-transit 将监听的 TCP 端口。这需要:
- 一个介于 10000 和 65535 之间的数字。
- 在您的系统上可用 (未被其他服务使用)。
- 被您的防火墙/安全设置允许。
在初始化期间,端口验证在 setPort() 函数中进行。
令牌配置
令牌用于客户端 (Web 客户端和 electron-hiprint 客户端) 与 node-hiprint-transit 服务器之间的身份验证。令牌必须:
- 至少 6 个字符长 (出于安全原因)。
- 可以包含通配符 (
*) 以允许灵活匹配。
例如,令牌 "hiprint*" 将匹配任何以 "hiprint" 开头的令牌,例如 "hiprint-client1"、"hiprint-web" 等。
在初始化期间,令牌验证在 setToken() 函数中进行。
SSL 配置
useSSL 设置决定服务器是否使用安全的 HTTPS 连接:
- 当为
true时,服务器加载 SSL 证书并提供 HTTPS 服务。 - 当为
false时,服务器使用标准的 HTTP (未加密)。
如果启用了 SSL,您需要按照"SSL/TLS 设置"页面中的说明提供有效的证书文件。
语言配置
语言设置会影响服务器消息、日志和配置提示:
"en":英语 (默认)"zh":简体中文
国际化是使用 I18n 库实现的,该库从 locale 目录加载语言文件。
初始化过程
初始化过程会以交互方式引导您完成配置设置。这是创建或更新配置的推荐方法。
运行初始化脚本
要初始化或重新配置服务器,请运行:
npm run init这将启动交互式配置过程。
初始化序列
初始化过程遵循以下顺序:
- 语言选择:选择英语或中文。
- 端口配置:设置服务器端口 (默认: 17521)。
- 令牌配置:设置身份验证令牌 (默认: hiprint)。
- SSL 配置:启用或禁用 SSL (默认: 禁用)。
完成后,配置将保存到 dist/config.json。
手动配置
如果您不想使用交互式初始化,可以直接手动编辑 dist/config.json 文件。请确保:
- 保持有效的 JSON 语法。
- 为每个设置使用适当的数据类型。
- 确保设置满足验证要求。
- 重新启动服务器以应用更改。
配置对服务器行为的影响
配置会影响服务器行为的多个方面:
服务器 URL 格式
根据您的配置,服务器 URL 将遵循以下模式:
- 启用 SSL:
https://<hostname>:<port> - 未启用 SSL:
http://<hostname>:<port>
客户端连接配置
客户端必须使用配置的服务器详细信息进行连接:
对于 Web 客户端 (vue-plugin-hiprint): (注意:原文中此处应包含 Web 客户端配置示例,请参考源文档。)
对于桌面客户端 (electron-hiprint):
- 在设置面板中输入服务器地址/端口。
- 输入与服务器令牌配置匹配的令牌。
最佳实践
- 安全性:始终使用强令牌 (不可预测,至少 6 个字符)。
- 生产环境:在生产环境中,启用 SSL 以进行安全通信。
- 端口选择:选择一个不太可能与其他服务冲突的端口。
- 防火墙规则:确保您的防火墙允许在配置的端口上进行通信。
- 令牌策略:考虑在令牌中使用通配符来管理具有不同权限的多个客户端。