angus
(Angus McLeod)
1
本主题介绍如何使用 Discourse ActivityPub 插件关注 Discourse 中的 ActivityPub Actor,并接续 设置 ActivityPub Actor。如果您不确定这意味着什么,请先前往 Discourse ActivityPub 插件 主题。
说明
要关注一个 ActivityPub Actor:
- 设置一个 Actor,用于您想要关注的分类或标签。
- 获取您想要关注的 Actor 的“句柄”(见下文)。
- 前往步骤 1 中分类或标签的主题列表视图中的“联合”选项卡。
- 点击“新建关注”,输入步骤 2 中的句柄,然后点击“查找”(见下文)。
- 找到 Actor 后点击“关注”。
Actor 句柄
大多数 ActivityPub 服务使用一种称为 WebFinger 的协议,允许通过“句柄”发现 Actor。这通常采用以下格式:
username@domain
有时用户名前面会有一个符号,例如 @。
Discourse
通过前往 Actor 的主题列表视图中的“联合”选项卡来获取 Discourse Actor 的句柄。
截图中的句柄是 announcements@test.pavilion.tech
Mastodon
从 Actor 的个人资料中获取 Mastodon Actor 的句柄。
截图中的句柄是 @angusmcleod@mastodon.social
查找 Actor
当您在“新建关注”模态框中输入 Actor 句柄并点击“查找”时,插件会使用 WebFinger 来查找该句柄。此查找可能不会成功。如果没有返回结果:
- 检查您复制的句柄。
- 检查句柄的域中是否存在一个活动的、启用了 ActivityPub 的服务器。
- 尝试在另一个 ActivityPub 服务上查找该句柄。
如果您尝试了以上方法,并认为问题可能出在您的站点或插件上:
- 检查站点设置
activity pub verbose logging 是否已启用。
- 再次执行查找。
- 检查
/logs 是否有标记为“ActivityPub”的日志。
- 在本主题的回复中报告您发现的任何问题。
2 个赞
rsmithlal
(Robert Smith)
2
你好 @angus,感谢你提供的精彩指南!
到目前为止,我已经能够将帖子和回复在 Discourse 和 Mastodon 之间进行联合,但无法在 Discourse 和 Discourse 之间进行联合。我的联合 Discourse 类别对所有人开放,但实例要求先获得邀请才能创建帐户。你认为这可能与此有关吗?
另外,其他用户发布的联合帖子的回复没有联合到该主题涉及的其他实例。这是正常的还是预期的?
谢谢!
angus
(Angus McLeod)
3
这有关系!让我测试一下这种情况,然后回复您。
Discourse 会将主题中的活动发布给主题中的所有参与者,即使他们没有关注相关的参与者(即类别或标签)。所以这是可以预料的。这可能是 Discourse 端的问题(请检查日志,如果您看到任何内容请告知我)。这也可能是您期望看到回复的平台上的问题。
也许给我举个例子?
1 个赞
rsmithlal
(Robert Smith)
4
抱歉 @angus,我必须将我的实例迁移到另一台服务器。当我启用两个 Discourse 实例上的 ActivityPub 时,我的 8 GB Raspberry Pi 4 无法处理 ActivityPub 流量,导致过热和冻结。如果我尝试在实验实例上启用 ActivityPub,我会提供更新。
关于在 ActivityPub 上激活应用域名后完全取消列出该域名的任何建议?
由于我取消关注了正在使用的 Mastodon 实例上的类别帐户,我之前使用的子域仍然接收到大量流量,因此我几乎无法使用它们。
angus
(Angus McLeod)
5
Rob,很抱歉听到您遇到了问题。ActivityPub 插件已经有许多针对高流量负载的保护措施,特别是以下站点设置:
-
activity_pub_rate_limit_post_to_inbox_per_minute:此设置的默认值为 10。这意味着,默认情况下,每分钟处理来自每个 IP 的 10 个传入 POST 请求。请尝试降低此值。
-
activity_pub_rate_limit_get_objects_per_minute:此设置的默认值为每分钟 30 个 GET 请求(每个 IP)。这意味着,默认情况下,每分钟处理来自每个 IP 的 30 个 GET 请求。请尝试降低此值。
-
activity_pub_blocked_request_origins:此设置允许您阻止来自可能导致问题的域的所有请求。
-
activity_pub_allowed_request_origins:此设置允许您将请求限制为特定域,这意味着来自所有其他来源的请求将被阻止。
如果高流量负载确实是您问题的根源,那么处理方法就是使用上面列出的保护措施,除非您可以控制流量来源的服务器。
rsmithlal
(Robert Smith)
6
谢谢你的建议,Angus。我真的很感激。我将在一个不会影响我其他服务的实验服务器上设置另一个 Discourse 实例,并按照你的建议重试。
我不确定我的基础设施的哪个层面是问题的真正所在,但可能是反向代理。
我使用 Cosmos Server 作为服务器监控器、docker 容器管理 UI,以及 Discourse 和其他服务的反向代理。我觉得反向代理可能需要进行类似的配置,以便为传入的 ActivityPub 连接进行充分的速率限制。
可能是来自外部 Mastodon 服务器的传入 ActivityPub 同步请求压垮了反向代理,导致 RAM、CPU 和网络使用率达到峰值并过热。
一旦我收到下一批树莓派,并且有一个备用板可以作为实验服务器使用,我会再次更新。
感谢你的建议!
1 个赞
ecki
(Bernd)
8
感谢您制作的精彩视频。我是否错过了关于关注者如何回答/互动这些话题的解释?我想知道这是否能为社交媒体团队创建一个轻量级的“服务器”。
Jagster
(Jakke Lehtonen)
9
当 Mastodon 用户尝试查找 discourse-actor 时,错误 403 最可能的原因是什么?
在 Mastodon 上,该句柄找不到任何内容,而 Discourse 会给出此响应:
GET 请求收到 https://foorumi.katiska.eu/ap/actor/2a8f2bdb5a547366558a0906d6bf6a5c 失败:403 Forbidden
/inbox 也是如此。