gotosocial/docs/locales/zh/getting_started/reverse_proxy/index.md
2024-11-02 05:58:56 +08:00

2 KiB
Raw Blame History

反向代理

GoToSocial 可以直接暴露到互联网上。不过,许多人更愿意使用反向代理来处理外部连接。这也可以使你对 TLS 配置有更大的控制权,并启用一些更高级的场景,比如资源缓存。

一般步骤

要使用反向代理,通常需要做以下几件事:

  • 配置某种方式获取主机域名的 TLS 证书
  • 将 GoToSocial 绑定到一个本地 IP 而不是公网 IP并使用非特权端口。调整 bind-addressport 配置选项
  • 如果你使用了 Lets Encrypt在 GoToSocial 中禁用它。将 letsencrypt-enabled 设置为 false
  • 配置反向代理以处理 TLS 并将请求代理到 GoToSocial

!!! warning 不要更改 host 配置选项的值。这必须保持为其他实例在互联网上看到的实际域名。相反,改变 bind-address 并更新 porttrusted-proxies

容器

当你使用我们的Docker Compose 示例指南部署 GoToSocial 时,它默认绑定到端口 443,假设你希望直接将其暴露到互联网上。要在反向代理后运行它,你需要更改这些设置。

在 Compose 文件中:

  • 注释掉 ports 定义中的 - "443:8080"
  • 如果你启用了 Lets Encrypt 支持:
    • 注释掉 ports 定义中的 - "80:80"
    • GTS_LETSENCRYPT_ENABLED 设置回 "false" 或注释掉
  • 改为取消注释 - "127.0.0.1:8080:8080"

这将导致 Docker 仅在 127.0.0.1 的端口 8080 上转发连接到容器,有效地将其与外界隔离。你现在可以指示反向代理将请求发送到那里。

指南

我们为以下服务器提供了指南:

WebSockets

使用反向代理时,必须特别注意允许 WebSockets 正常工作。因为许多客户端应用程序使用 WebSockets 来流式传输你的时间线。WebSockets 不用于联合。

请确保阅读 WebSocket 文档,并相应地配置你的反向代理。