SSL/TLS 设置
本指南介绍了如何在 node-hiprint-transit 服务器中配置和使用 SSL/TLS 加密以实现安全通信。 node-hiprint-transit 服务器支持可选的 SSL/TLS 加密,以保护使用 vue-plugin-hiprint 的 Web 客户端和 electron-hiprint 客户端之间的连接。有关基本配置选项,请参阅配置文档。
1. 理解 node-hiprint-transit 中的 SSL/TLS
SSL/TLS 加密通过加密网络上传输的数据,在客户端和服务器之间提供安全通信。启用后,node-hiprint-transit 服务器将对所有连接使用 HTTPS 而不是 HTTP,从而在传输过程中保护敏感的打印数据。
来源: README.md 第 70-74 行,README.md 第 84-87 行
2. 初始化时启用 SSL
首次初始化 node-hiprint-transit 服务器时,系统会提示您配置各种设置,包括是否启用 SSL:
node run ./dist/init
# ? Set language 设置语言 (Use arrow keys)
# > English
# 简体中文
# ? 设置服务端口号 10000~65535: 17521
# ? 设置服务 TOKEN (使用通配符(*)匹配任意字符):hiprint*
# ? 使用 SSL:(y/N)
# 配置文件写入成功当提示"使用 SSL:(y/N)"时,输入"y"启用 SSL,或输入"N"禁用 SSL。此设置将保存在您的配置文件中。
来源: README.md 第 58-73 行
3. SSL 证书要求
要使用 SSL,您需要:
- SSL 证书文件 (ssl.pem)
- 私钥文件 (ssl.key)
该仓库包含示例 SSL 文件,但对于生产环境,您应该用自己的证书替换这些文件。
来源: README.md 第 324-325 行, src/ssl.pem, src/ssl.key
4. 替换默认证书
默认证书文件位于:
src/ssl.pem- SSL 证书src/ssl.key- 私钥
对于生产环境,您应该用自己的证书替换这些文件:
- 为您的域获取有效的 SSL 证书
- 您可以使用像 Let's Encrypt 这样的服务获取免费的 SSL 证书
- 对于测试,您可以生成自签名证书
- 将您的证书文件重命名为
ssl.pem,将您的私钥重命名为ssl.key - 替换 src 目录中的默认文件
- 如有必要,重新构建应用程序:
npm run build - 服务器启动时将自动使用您的新证书
来源: README.md 第 324-325 行, src/ssl.pem, src/ssl.key
5. 系统架构中的 SSL 集成
SSL/TLS 加密在 node-hiprint-transit 的整体架构中如下所示:
(注意:原文此处可能引用了架构图或更详细的描述,翻译时请参考原文的具体内容)
来源: README.md 第 12-15 行
6. 将客户端连接到启用 SSL 的服务器
Web 客户端 (vue-plugin-hiprint)
连接到启用 SSL 的服务器时,请确保在连接 URL 中使用 https:// 协议。
Electron 客户端 (electron-hiprint)
配置 electron-hiprint 连接到服务器时:
- 右键单击托盘图标以访问设置
- 输入带有
https://协议的服务器地址 - 输入端口(默认为 17521)
- 输入您的身份验证令牌
- 单击"测试"以验证连接
- 单击"应用"并重新启动客户端
来源: README.md 第 106-116 行, README.md 第 120-138 行
7. 验证 SSL 配置
当您启动启用了 SSL 的服务器时,您应该会看到确认其正在 HTTPS URL 上运行的输出:
node ./dist/index
服务器正运行在
https://yourdomain.com:17521
请确保安全组或防火墙已放行端口。
令牌:yourtoken*请注意 URL 中的 https://,这确认 SSL 已激活。
来源: README.md 第 94-103 行
8. SSL 通信流程
启用 SSL 后,客户端和服务器之间的所有通信都将被加密。
(注意:原文此处可能引用了通信流程图或更详细的描述,翻译时请参考原文的具体内容)
来源: README.md 第 142-207 行
9. SSL 连接故障排除
如果您遇到 SSL 连接问题:
- 验证您的证书文件格式是否正确且有效
- 确保证书适用于正确的域
- 检查证书 (ssl.pem) 和私钥 (ssl.key) 文件是否位于正确的位置
- 确保客户端在连接 URL 中使用
https:// - 检查证书的到期日期
- 出于测试目的,您可能需要在浏览器中接受自签名证书
来源: README.md 第 324-325 行
10. 安全最佳实践
在 node-hiprint-transit 中使用 SSL 时:
- 始终使用强大且唯一的令牌进行身份验证
- 用您自己的有效证书替换默认证书
- 确保私钥安全,切勿共享
- 在证书到期前定期更新证书
- 考虑使用 Let's Encrypt 获取免费且可自动续订的证书
来源: README.md 第 35-39 行