2017年05月08日18:58
今話題のMastodonのインストールに挑戦してみた!つまずいたポイント編3
こんにちは、たかしーです。

前回に続き、Mastodon構築中に躓いたポイントについてまとめていきます。
ハマったポイント3:Google Chromeで "Mixed Content"エラーが発生してMastodonのWebSocketがつながらない。
Chromeで構築済みのMastodon環境にアクセスした際、以下の画像のようなエラーが表示されて、MastodonのTLストリーミングに接続できないエラーが発生しました。

MixedContentエラーなのでhttpsのサイトにhttpコンテンツが混ざっていることが原因なのですが、Nginx側の設定でhttpsに変えてプロキシしているにもかかわらずWebSocketの通信だけなぜかhttpのままになってしまっていました。
Nginx側の設定を見直してみたのですが、原因がわからず、結局Mastodon側の設定(.env.production)を変更することで解決しました。
これで、WebSocketの通信も暗号化された状態で行われ、エラーが出なくなりました。
なお、LOCAL_HTTPS=true にすると、MastodonサーバへのアクセスがすべてHTTPSへリダイレクトされるようになります。したがってNginx側の"proxy_pass"の設定を"http"で指定すると無限ループが発生しますので、かならずhttpsを指定してください。
僕がハマったポイントは以上です。
Mastodonの思想として、小規模のインスタンスが沢山存在する状況を理想としていますし、ネットワークの勉強にもなります。
少しても”やってみたい!”と思った人は、是非チャレンジしてみてくださいね!
またMastodonのカスタマイズ方法なんかも機会があれば載せたいと思います。

前回に続き、Mastodon構築中に躓いたポイントについてまとめていきます。
ハマったポイント3:Google Chromeで "Mixed Content"エラーが発生してMastodonのWebSocketがつながらない。
Chromeで構築済みのMastodon環境にアクセスした際、以下の画像のようなエラーが表示されて、MastodonのTLストリーミングに接続できないエラーが発生しました。

MixedContentエラーなのでhttpsのサイトにhttpコンテンツが混ざっていることが原因なのですが、Nginx側の設定でhttpsに変えてプロキシしているにもかかわらずWebSocketの通信だけなぜかhttpのままになってしまっていました。
Nginx側の設定を見直してみたのですが、原因がわからず、結局Mastodon側の設定(.env.production)を変更することで解決しました。
これで、WebSocketの通信も暗号化された状態で行われ、エラーが出なくなりました。
なお、LOCAL_HTTPS=true にすると、MastodonサーバへのアクセスがすべてHTTPSへリダイレクトされるようになります。したがってNginx側の"proxy_pass"の設定を"http"で指定すると無限ループが発生しますので、かならずhttpsを指定してください。
僕がハマったポイントは以上です。
Mastodonの思想として、小規模のインスタンスが沢山存在する状況を理想としていますし、ネットワークの勉強にもなります。
少しても”やってみたい!”と思った人は、是非チャレンジしてみてくださいね!
またMastodonのカスタマイズ方法なんかも機会があれば載せたいと思います。