跳转到内容

配置

本页记录了 node-hiprint-transit 的配置系统。它解释了如何设置和修改服务器配置,包括端口设置、身份验证令牌、SSL/TLS 选项和语言首选项。有关 SSL/TLS 证书设置的信息,请参阅"SSL/TLS 设置"。

配置概述

node-hiprint-transit 服务器使用一个简单的 JSON 配置文件来存储其设置。此配置控制服务器行为的关键方面,包括:

  • 通信端口
  • 身份验证令牌
  • SSL/TLS 加密
  • 语言首选项

配置过程图

(注意:原文中此处包含一个配置过程图,本文档无法直接展示,请参考源文档。)

配置文件

配置存储在位于 dist/config.json 的 JSON 文件中。在运行初始化脚本时,会创建或更新此文件。

默认配置

(注意:原文中此处应包含默认配置的 JSON 示例,请参考源文档。)

配置参数

下表详细说明了每个配置参数:

参数类型默认值描述
portNumber17521服务器监听的 TCP 端口 (必须在 10000-65535 之间)
tokenString"hiprint"客户端的身份验证令牌 (至少 6 个字符,可包含通配符)
useSSLBooleanfalse是否启用 SSL/TLS 加密
langString"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 目录加载语言文件。

初始化过程

初始化过程会以交互方式引导您完成配置设置。这是创建或更新配置的推荐方法。

运行初始化脚本

要初始化或重新配置服务器,请运行:

bash
npm run init

这将启动交互式配置过程。

初始化序列

初始化过程遵循以下顺序:

  1. 语言选择:选择英语或中文。
  2. 端口配置:设置服务器端口 (默认: 17521)。
  3. 令牌配置:设置身份验证令牌 (默认: hiprint)。
  4. SSL 配置:启用或禁用 SSL (默认: 禁用)。

完成后,配置将保存到 dist/config.json

手动配置

如果您不想使用交互式初始化,可以直接手动编辑 dist/config.json 文件。请确保:

  1. 保持有效的 JSON 语法。
  2. 为每个设置使用适当的数据类型。
  3. 确保设置满足验证要求。
  4. 重新启动服务器以应用更改。

配置对服务器行为的影响

配置会影响服务器行为的多个方面:

服务器 URL 格式

根据您的配置,服务器 URL 将遵循以下模式:

  • 启用 SSL: https://<hostname>:<port>
  • 未启用 SSL: http://<hostname>:<port>

客户端连接配置

客户端必须使用配置的服务器详细信息进行连接:

对于 Web 客户端 (vue-plugin-hiprint): (注意:原文中此处应包含 Web 客户端配置示例,请参考源文档。)

对于桌面客户端 (electron-hiprint)

  • 在设置面板中输入服务器地址/端口。
  • 输入与服务器令牌配置匹配的令牌。

最佳实践

  • 安全性:始终使用强令牌 (不可预测,至少 6 个字符)。
  • 生产环境:在生产环境中,启用 SSL 以进行安全通信。
  • 端口选择:选择一个不太可能与其他服务冲突的端口。
  • 防火墙规则:确保您的防火墙允许在配置的端口上进行通信。
  • 令牌策略:考虑在令牌中使用通配符来管理具有不同权限的多个客户端。