Laravelを使って、Cloudflareが設定されたMisskeyに画像ファイル付きのリクエストを投げるとセグメンテーション違反になる。
CloudflareのWAF→ソースIP(固定)をブロックしない設定を追加済み画像を追加しないリクエスト(ノートの投稿処理)→正常に動くCloudflareを解除→正常に動くCloudflareを設定してPythonのrequestsライブラリで同等の処理→正常に動く
発動条件が絞り切れていないが、GuzzleHttpのバグ…?
PHPのCURLFileを使ったらアップロードは動作した(ただしファイル名が文字化けする)。ますますGuzzleHttpの問題説が濃厚に…
ワークアラウンドとしてCURLFileを使うことにした(ファイル名は指定方法が悪かった)。
GuzzleHttpのバグとは思うけど、Cloudflareが本質的な問題とも思えないので、原因は調べる必要あり。IPv6でアクセスした時だけ問題が起こるとか、あるかもしれない(XserverのVPSはIPv4アドレスしか無いため)。
HTTP/2で通信するように明示的に指定すれば成功するようだ!ということでこのオプション指定をワークアラウンドとする方が良さそう。HTTP/1.1で落ちる理由は不明。
様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。
HTTP/2で通信するように明示的に指定すれば成功するようだ!
ということでこのオプション指定をワークアラウンドとする方が良さそう。HTTP/1.1で落ちる理由は不明。