diff options
| author | 2025-02-09 18:13:08 +0800 | |
|---|---|---|
| committer | 2025-02-09 11:13:08 +0100 | |
| commit | 62f25ea08aa5d537ab5a207c2325812b35da1f3a (patch) | |
| tree | 69cfcfae5531b1f59e93264815b67f38f066bb8d /docs/locales/zh/configuration | |
| parent | [chore] fix typo in docs (#3758) (diff) | |
| download | gotosocial-62f25ea08aa5d537ab5a207c2325812b35da1f3a.tar.xz | |
[docs/zh] Update zh docs: synced to e10de84 (#3763)
* [docs/zh] Update zh docs: synced to e10de84
* [docs/zh] update mkdocs config of zh docs
* [docs/zh] update repo docs translations (README, ROADMAP, CONTRIBUTING) + update swagger schema metadata of docs/zh
Diffstat (limited to 'docs/locales/zh/configuration')
| -rw-r--r-- | docs/locales/zh/configuration/general.md | 4 | ||||
| -rw-r--r-- | docs/locales/zh/configuration/instance.md | 43 | ||||
| -rw-r--r-- | docs/locales/zh/configuration/oidc.md | 2 | ||||
| -rw-r--r-- | docs/locales/zh/configuration/trusted_proxies.md | 171 |
4 files changed, 216 insertions, 4 deletions
diff --git a/docs/locales/zh/configuration/general.md b/docs/locales/zh/configuration/general.md index 56b1388d4..e1643496e 100644 --- a/docs/locales/zh/configuration/general.md +++ b/docs/locales/zh/configuration/general.md @@ -1,8 +1,6 @@ # 基础配置 -GoToSocial 的基础配置,包括域名、端口、绑定地址和传输协议等基本内容。 - -这里*真正*需要设置的只有 `host`,也就是你实例可以访问的域名,可能还需要设置 `port`。 +GoToSocial 的顶级配置,包括域名、端口、绑定地址和可信代理等基本信息。 ## 设置 diff --git a/docs/locales/zh/configuration/instance.md b/docs/locales/zh/configuration/instance.md index e1c8c8251..e6622cf2e 100644 --- a/docs/locales/zh/configuration/instance.md +++ b/docs/locales/zh/configuration/instance.md @@ -112,4 +112,47 @@ instance-deliver-to-shared-inboxes: true # 选项: [true, false] # 默认值: false instance-inject-mastodon-version: false + +# 字符串。hh:mm 格式的 24 小时制时间。 +# 示例: ["14:30", "00:00", "04:00"] +# 默认值: "23:00" (晚上11点)。 +instance-subscriptions-process-from: "23:00" + + +# 时间间隔。表示更新订阅的周期。 +# 示例:["24h", "72h", "12h"] +# 默认值: "24h"(每天一次)。 +instance-subscriptions-process-every: "24h" + +# 字符串。允许你自定义是否以及如何在 /api/v1|v2/instance +# 和 /nodeinfo 端点向爬虫提供统计数据。 +# +# 请注意,无论你在这里进行何种设置,/api/v1|v2/instance +# 端点都不会被 robots.txt 允许抓取,因为这些是客户端 +# API端点。 +# +# "" / 空字符串(默认模式): 在 instance 和 nodeinfo 端点提供准确的统计数据, +# 并在 robots.txt 中禁止爬虫抓取这些端点。这种模式相当于礼貌地 +# 要求爬虫不抓取,但不能保证它们会遵从这些规则, +# 因为遗憾的是,许多爬虫甚至不会检查robots.txt。 +# +# "zero": 在 instance 和 nodeinfo 端点提供全为零的统计数据, +# 并在 robots.txt 中禁止爬虫抓取这些端点。 +# 这种模式阻止行为不端的爬虫收集有关您的实例的统计数据, +# 因为所有收集的值都将为0。这(在统计数据方面) +# 是保护您的实例隐私的最安全方法。 +# +# "serve": 在 instance 和 nodeinfo 端点提供准确的统计数据, +# 并允许爬虫抓取这些端点。如果您希望为 +# 联邦宇宙统计信息收集项目做贡献,此模式将非常有用。 +# +# "baffle": 在 instance 和 nodeinfo 端点提供随机且荒谬的统计数据, +# 并在 robots.txt 中禁止爬虫抓取这些端点。 +# 这种模式可以用于使不尊重 robots.txt 的爬虫感到困惑。 +# 警告,此做法可能会引起不尊重 robots.txt 的爬虫开发者的怨恨, +# 因此可能会给您的实例带来风险。 +# +# 选项: ["", "zero", "serve", "baffle"] +# 默认: "" +instance-stats-mode: "" ``` diff --git a/docs/locales/zh/configuration/oidc.md b/docs/locales/zh/configuration/oidc.md index f4c6ef9bf..c5055e94b 100644 --- a/docs/locales/zh/configuration/oidc.md +++ b/docs/locales/zh/configuration/oidc.md @@ -10,7 +10,7 @@ GoToSocial 支持 [OpenID Connect](https://openid.net/connect/),这是一种 - 你希望将用户、账户、密码等的管理委托给外部服务,以简化管理。 - 你已经在外部系统中有很多用户,不想在 GoToSocial 中手动重新创建他们。 -!!! tip +!!! tip "提示" 如果用户尚不存在,且你的 IdP 没有返回非空的 `email` 作为 claims 的一部分,登录将会失败。这个 email 需要在此实例中是唯一的。尽管我们使用 `sub` claim 将外部身份与 GtS 用户关联,但创建用户时需要一个与之关联的 email。 ## 设置 diff --git a/docs/locales/zh/configuration/trusted_proxies.md b/docs/locales/zh/configuration/trusted_proxies.md new file mode 100644 index 000000000..eca63e17f --- /dev/null +++ b/docs/locales/zh/configuration/trusted_proxies.md @@ -0,0 +1,171 @@ +# 可信代理 + +为了正确执行[速率限制](../api/ratelimiting.md),GoToSocial 依赖于“可信代理”的概念,以准确确定访问你的实例的客户端的 IP 地址。 + +“可信代理”是一个中间网络跳转层,GoToSocial 可以配置为信任由该代理层提供的正确的客户端 IP 地址。 + +例如,如果你使用 Docker + Nginx 的反向代理配置中运行,那么 Nginx 的 Docker 网络地址应该被配置为可信代理,因为从广域互联网传入的所有流量将通过 Nginx 进入 GoToSocial。 + +如果没有正确设置 `trusted-proxies`, GoToSocial 将看到所有的入站客户端的 IP 地址都是同一个地址,这会导致速率限制的问题,因为 GoToSocial 使用客户端 IP 地址来执行速率限制。 + +## 总结:如何正确设置 `trusted-proxies` + +如果你的 `trusted-proxies` 设置没有正确配置,你可能会在实例的网页视图中看到以下警告(v0.18.0及以上版本): + +> 警告!此实例的配置中 trusted-proxies 的设置似乎不正确。这可能导致速率限制问题,进而导致联合问题。 +> +> 如果你是实例管理员,你应该通过将 `SUGGESTED_IP_RANGE` 添加到你的 trusted-proxies 来修复此问题。 + +要解决这个问题,可以复制消息中的IP范围,并编辑你的 `config.yaml` 文件,将IP范围添加到你的 `trusted-proxies` 中。 + +!!! tip "即使你没有看到上述警告,你也可能会遇到速率限制!" + 如果你使用的是低于 v0.18.0 版本的 GoToSocial,或者你在 Cloudflare(不推荐) 这样的 CDN 之后运行,你将不会看到警告消息。相反,你会在 GoToSocial 日志中看到所有客户端的 IP 都是同一个地址。在这种情况下,可以将重复出现的客户端IP值作为`SUGGESTED_IP_RANGE`。 + +在下面例子中,我们假定`SUGGESTED_IP_RANGE`为`172.17.0.1/16`(默认的Docker桥接网络子网)。 + +修改之前(默认配置): + +```yaml +trusted-proxies: + - "127.0.0.1/32" + - "::1" +``` + +修改之后(新配置): + +```yaml +trusted-proxies: + - "172.17.0.1/16" + - "127.0.0.1/32" + - "::1" +``` + +如果你使用[环境变量](../configuration/index.md#环境变量)来配置你的实例,可以通过设置环境变量`GTS_TRUSTED_PROXIES`为以逗号分隔的IP范围列表来配置`trusted-proxies`,如下所示: + +```env +GTS_TRUSTED_PROXIES="172.17.0.1/16,127.0.0.1/32,::1" +``` + +如果你使用 docker compose,你的 docker-compose.yaml 文件在更改后应如下所示(注意 yaml 使用 `:` 而不是 `=`): + +```yaml +################################ +# 其他配置内容 # +################################ + environment: + ############################ + # 其他环境变量 # + ############################ + ## 对于反向代理设置: + GTS_TRUSTED_PROXIES: "172.17.0.1/16,127.0.0.1/32,::1" +################################ +# 其他配置内容 # +################################ +``` + +一旦你完成了必要的配置更改,**重启你的实例**并刷新主页。 + +如果消息消失,则问题已解决! + +如果你仍然看到警告消息,但显示了一个不同的建议添加到`trusted-proxies`的 IP 范围,那么重复上述步骤,在你的配置中添加新的建议 IP 范围。 + +!!! tip "Cloudflare 的 IP 地址列表" + 如果你在 GoToSocial 实例前面使用 CDN/代理,例如 Cloudflare (不推荐),那么你可能需要将一个或多个 Cloudflare IP 地址添加到你的 `trusted-proxies` 中,以便速率限制正常工作。你可以在这里找到Cloudflare 的 IP 地址列表: https://www.cloudflare.com/ips/ + +## 我可能无法正确配置 `trusted-proxies`,可以直接禁用警告吗? + +在某些情况下,很难实际正确配置 `trusted-proxies` 来检测入站请求的真实客户端 IP,或者确保真实客户端 IP 是准确、但是仍显示为在私有网络内的。 + +例如,如果你在家用网络上运行 GoToSocial,且实例位于无法注入 `X-Forwarded-For` 标头的家庭互联网路由器之后,那么建议你添加到 `trusted-proxies` 的条目看起来会像 `192.168.x.x`,但将其添加到 `trusted-proxies` 后问题依然无法解决。 + +另一个例子是:你在家庭网络上运行 GoToSocial,GoToSocial 连接到家庭网络的路由器,并且你从同样在你家庭网络设备(比如笔记本或手机)上访问 Web 前端。在这种情况下,你的路由器可能会直接将你发送到你的 GoToSocial 实例,且你的请求不会离开家用网络,因此 GtS 将正确地认为*你的*客户端 IP 地址是一个私人网络地址,但*其他*从更广泛的互联网传入的请求将显示其真实的远程客户端 IP 地址。在这种情况下,`trusted-proxies` 的警告实际上不适用。 + +如果你已尝试编辑 `trusted-proxies` 设置,但仍看到警告,可能上面的一个例子适用于你。你可以通过以下两种方式之一继续: + +### 为家庭网络添加速率限制例外(推荐) + +如果 `trusted-proxies` 警告中的建议 IP 范围看起来像 `192.168.x.x`,但你在 GoToSocial 日志中仍看到其他客户端 IP 不以 `192.168` 开头,那么可以尝试只为家庭网络上的设备添加速率限制例外,同时对外部 IP 地址保持速率限制。 + +例如,如果你的建议是类似 `192.168.1.128/32`,那么将 `/32` 换为 `/24`,以便使范围覆盖 `192.168.1.0` -> `192.168.1.255`,并将其添加到 `config.yaml` 文件中的 `advanced-rate-limit-exceptions` 设置中。 + +默认设置(修改前): + +```yaml +advanced-rate-limit-exceptions: [] +``` + +设置修改后: + +```yaml +advanced-rate-limit-exceptions: + - "192.168.1.128/24" +``` + +如果你使用[环境变量](../configuration/index.md#环境变量)来配置实例,可以将环境变量 `GTS_ADVANCED_RATE_LIMIT_EXCEPTIONS` 设为以逗号分隔的 IP 范围列表,来配置 `advanced-rate-limit-exceptions`,如下所示: + +```env +GTS_ADVANCED_RATE_LIMIT_EXCEPTIONS="192.168.1.128/24" +``` + +如果使用 docker compose,修改后的 docker-compose.yaml 文件应如下所示(注意 yaml 使用 `: ` 而不是 `=`): + +```yaml +################################ +# 其他配置内容 # +################################ + environment: + ############################ + # 其他环境变量 # + ############################ + GTS_ADVANCED_RATE_LIMIT_EXCEPTIONS: "192.168.1.128/24" +################################ +# 其他配置内容 # +################################ +``` + +完成必要的配置更改后,**重启你的实例**并刷新主页。 + +### 完全关闭速率限制(最后手段) + +如果其他方法无效,你可以完全禁用速率限制,这也会禁用 `trusted-proxies` 检查和警告。 + +!!! warning "警告" + 完全关闭速率限制应被视为最后的手段,因为速率限制有助于保护你的实例免受骚扰信息和爬虫攻击。 + +要关闭速率限制,请在 `config.yaml` 中将 `advanced-rate-limit-requests` 设置为 0。 + +默认配置前: + +```yaml +advanced-rate-limit-requests: 300 +``` + +设置后: + +```yaml +advanced-rate-limit-requests: 0 +``` + +如果你使用[环境变量](../configuration/index.md#环境变量)来配置实例,可以通过将环境变量 `GTS_ADVANCED_RATE_LIMIT_REQUESTS` 设置为 0,来配置 `advanced-rate-limit-requests`,如下所示: + +```env +GTS_ADVANCED_RATE_LIMIT_REQUESTS="0" +``` + +如果使用 docker compose,改变后的 docker-compose.yaml 文件应如下所示(注意 yaml 使用 `: ` 而不是 `=`): + +```yaml +################################ +# 其他配置内容 # +################################ + environment: + ############################ + # 其他环境变量 # + ############################ + GTS_ADVANCED_RATE_LIMIT_REQUESTS: "0" +################################ +# 其他配置内容 # +################################ +``` + +完成必要的配置更改后,**重启你的实例**并刷新主页。 |
