











セルフホストのブログがあり、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を編集し、次の変更を加えます。
LOCAL_DOMAIN;mastodon.example.comなどのセカンドレベルドメイン名に設定します。mastodon.example.comのNginxホストを構成するには、Mastodonのドキュメントを参照してください。 Mastodonのstreaming/sidekiq/webサービスを再起動し、nginx構成をリロードすると、mastodon.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でおしゃべりしましょう。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。