mirror of
https://github.com/rustdesk/doc.rustdesk.com.git
synced 2025-07-21 03:22:33 +00:00
48 lines
2.4 KiB
Markdown
Executable File
48 lines
2.4 KiB
Markdown
Executable File
---
|
||
title: 自托管
|
||
weight: 5
|
||
pre: "<b>2. </b>"
|
||
---
|
||
|
||
如果您使用 RustDesk,您应该拥有自己的 RustDesk 服务器,这些文档将帮助您的 RustDesk 之旅。
|
||
|
||
开源版支持可通过我们的 [Discord](https://discord.com/invite/nDceKgxnkV) 获取,专业版支持可通过[邮件](mailto:support@rustdesk.com)获取。
|
||
|
||
## 自托管服务器如何工作?
|
||
|
||
技术上有两个可执行文件(服务器):
|
||
|
||
- `hbbs` - RustDesk ID(会合/信令)服务器,监听 TCP(`21114` - 仅专业版的 http,`21115`、`21116`、`21118` 用于 web socket)和 UDP(`21116`)
|
||
- `hbbr` - RustDesk 中继服务器,监听 TCP(`21117`、`21119` 用于 web socket)
|
||
|
||
当您通过安装脚本/docker compose/deb 安装时,两个服务都会被安装。
|
||
|
||
这里有 RustDesk 客户端如何与 `hbbr`/`hbbs` 通信的[说明](https://github.com/rustdesk/rustdesk/wiki/How-does-RustDesk-work%3F)。
|
||
|
||
只要 RustDesk 在机器上运行,机器就会不断 ping ID 服务器(`hbbs`)以告知其当前 IP 地址和端口。
|
||
|
||
当您从计算机 A 启动到计算机 B 的连接时,计算机 A 联系 ID 服务器并请求与计算机 B 通信。
|
||
|
||
然后 ID 服务器尝试使用打洞技术将 A 和 B 直接连接。
|
||
|
||
如果打洞失败,A 将通过中继服务器(`hbbr`)与 B 通信。
|
||
|
||
在大多数情况下,打洞是成功的,从不使用中继服务器。
|
||
|
||
这里有一个关于[您是否应该自托管 rustdesk 服务器?](https://www.reddit.com/r/rustdesk/comments/1cr8kfv/should_you_selfhost_a_rustdesk_server/)的讨论
|
||
|
||
## 所需端口
|
||
|
||
RustDesk 服务器自托管所需的端口很大程度上取决于您的环境以及您想用 RustDesk 做什么。整个文档中显示的示例通常会建议打开所有端口。
|
||
|
||
核心端口:\
|
||
TCP `21114-21119` \
|
||
UDP `21116`
|
||
|
||
上述 `21115-21117` 是 RustDesk 工作所需的最小端口,这些处理信号和中继端口以及 NAT 穿越。
|
||
|
||
TCP 端口 `21118` 和 `21119` 是 [RustDesk Web 客户端](https://rustdesk.com/web/)的 WebSocket 端口,您需要反向代理来使其支持 HTTPS,请参考这个[示例 Nginx 配置](/docs/en/self-host/rustdesk-server-pro/faq/#8-add-websocket-secure-wss-support-for-the-id-server-and-relay-server-to-enable-secure-communication-for-the-web-client)。
|
||
|
||
对于没有 SSL 代理的专业版用户,您需要打开 TCP 端口 `21114` 以使 API 工作,或者使用 SSL 代理打开 TCP 端口 `443`。
|
||
|
||
{{% children depth="4" showhidden="true" %}} |