惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
爱范儿
爱范儿
罗磊的独立博客
V
V2EX
量子位
Last Week in AI
Last Week in AI
Hugging Face - Blog
Hugging Face - Blog
博客园 - 司徒正美
Jina AI
Jina AI
博客园 - 叶小钗
小众软件
小众软件
博客园 - 【当耐特】
Y
Y Combinator Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
Tailwind CSS Blog
博客园 - 聂微东
Microsoft Security Blog
Microsoft Security Blog
美团技术团队
P
Proofpoint News Feed
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
有赞技术团队
有赞技术团队
MongoDB | Blog
MongoDB | Blog
Recent Announcements
Recent Announcements
酷 壳 – CoolShell
酷 壳 – CoolShell

Dallas Lu

一些没有意义的事情 博客程序的一次大重构 OpenWRT 使用 udp2raw 对抗 WireGuard 阻断 如何证明你是原创作者 Nginx 泛域名配置的隐患与对策 WISeID S/MIME 证书 V2EX 刑满释放记 使用 Radicale 在 Ubuntu 24.04 中搭建 vCards CardDav 服务 邮件服务的域名成功从 SURBL 黑名单移除 网站多语言的设计细节 网站评论系统的目前进展和展望 在公网使用 iptables 转发端口时保留客户端 IP 邮件投递平台 Postal 的使用经验 自建 Postal 完美替代 SendGrid 互联网在崩塌吗,然后呢 在 SvelteKit 应用中使用 JSON-LD 网页的打印样式应该怎么写 “茴字的四种写法”之 IP 与域名 怎么伪造 Git 提交的时区 供大众交流的论坛和其它替代产品还是不好用 Nginx 反代 Apache Subversion 添加 HTTPS NginxリバースプロキシApache Subversion 使用你的主域名作为 Mastodon 实例名 Firefox 和 Chrome 为何要革 EV 证书的命 FirefoxとChromeがEVライフに革命を起こす理由
プライマリドメイン名をMastodonのインスタンスとして使用します
达拉斯・卢 · 2020-11-10 · via Dallas Lu

セルフホストのブログがあり、Mastodonインスタンスを設定する予定がある場合、またはすでに設定している場合は、ドメイン名を選択するという問題に直面する必要があります。ブログがexample.comであるとすると、Mastodonアカウントはyourname@example.comまたはyourname@mastodon.example.comのどちらにする必要がありますか?

シンプルさと分かりやすさのためには、当然ながらブログとマストドンのドメイン名を同じにした方が良いでしょう。 しかし、Mastodonは第2階層のディレクトリの下では動作しません。 Mastodonのウェブ部分をリバースエンジニアリングによって第二階層のドメインやディレクトリに移動させたとしても、分散型サービスである本サービスは、連邦宇宙の他のインスタンスノードとデータを交換する際に未知の問題が発生する可能性が高い。

幸い、フェデレーションノード間の通信における重要なステップは、 https://example.com/.well-known/host-metaにアクセスすることです。このファイルのコンテンツには、次のステップのURLが含まれています。また、Mastodonは LOCAL_DOMAINおよび WEB_DOMAINオプションもサポートしています。

マストドンを設定する

.env.productionを編集し、次の変更を加えます。

  1. 変更しないでください LOCAL_DOMAIN;
  2. WEB_DOMAIN構成を追加し、mastodon.example.comなどのセカンドレベルドメイン名に設定します。

設定 mastodon.example.com

mastodon.example.comのNginxホストを構成するには、Mastodonのドキュメントを参照してください。 Mastodonのstreaming/sidekiq/webサービスを再起動し、nginx構成をリロードすると、mastodon.example.comにアクセスできるようになります。

example.comを設定する

ただし、外部インスタンスがアカウントyourname@example.comに接続しようとすると、アドレスがmastodon.example.comであることがわからないため、 https://example.com/.well-known/host-metaは、 https://mastodon.example.com/.well-known/host-metaのコンテンツを返すことができます。

しかし、あなたのアカウントに接続しようとする外部インスタンス yourname@example.com は、あなたのウェブアドレスが mastodon.example.com であることをまだ知りません。 known/host-metaはhttps://mastodon.example.com/.well-known/host-metaを返します。

example.comのNginx構成で、Mastodonの構成を削除し、次のルールのみを追加します

location = /.well-known/host-meta {
       return 301 https://mastodon.example.com$request_uri;
}

Nginxをリロードするだけです

その他の構成

上記の構成は、felxの補足ドキュメントMastodonとそれが提供するユーザーに異なるドメイン名を使用するからのものです。記事で述べたように、メインドメイン名ジャンプとWEB_DOMAIN構成は要件を満たすことができますが、インスタンスバージョンとクライアントの種類が異なるため、依然として奇妙な問題が発生することは避けられません。

また、しばらく実行されているMastodonのプライマリドメイン名からセカンダリドメイン名に切り替えると、より明白な問題が発生する可能性があります。

公式ドキュメントと経験のルートの章によると、互換性を高めるためにexample.comに次のルールを設定することをお勧めします。

## mastodon web url
location ~ ^/(about/more|settings|web|pghero|sidekiq|admin|interact|explore|public|@.<em>|relationships|filters|terms|inert.css){
        rewrite ^(.</em>) https://$mastodon_host$1 permanent.
}

## mastodon .well-known

location ~ ^/(.well-known/(host-meta|nodeinfo|webfinger|change-password|keybase-proof-config)|nodeinfo) {
        rewrite ^(.*) https://$mastodon_host$1 permanent.
}

## mastodonのシステムリソース

location ~ ^/(system|headers|avatars) {
        ## set your mastodon public folder, or just redirect to $mastodon_host
        #rewrite ^(.*) https://$mastodon_host$1 permanent;
        root /home/mastodon/live/public;
}

## mastodonのURL (使用可能な post)

location ~ ^/(api/v1|inbox|actor|oauth|auth|users){
        return 308 https://$mastodon_host$request_uri;
}

さあ、yourname@example.comでおしゃべりしましょう。