@kisaragi_marine http:とhttps:の違いですか?
@hongminhee@fedibird.com チュートリアルを追っててMastodonの代わりにMisskeyで照会しようとしたら上述のエラーが出たので、一旦URLをハードコード (1枚目) したら治ったけれど謎…curl -H 'Accept: application/activity+json' https://6d02f6726ac4ff.lhr.life/users/me | jq
した結果ではhttps
スキーマなのでなおのこと謎という
@kisaragi_marine 多分X-Forwarded-Protoヘッダを活用できない様です。behindProxy()ミドルウェアを設定しましたか?
https://fedify.dev/tutorial/basics#exposing-the-server-to-the-public-internet
@hongminhee@fedibird.com expressだからapp.set("trust proxy", true);
するだけで良いのでは……と思ってたけど違いますか…?
@kisaragi_marine あれ、そうですね。app.set()のコールする順番の問題でしょうかね?Expressをあまり使った事が無いので良く分かりませんが。
@kisaragi_marine ExpressとFedifyの連携は@fedify/expressパッケージを使用したのですか?
@kisaragi_marine 下記の様にテスト用のルートを追加してプロキシを経由してリクエストを送信すると、応答で「https」という文字列が正しく表示されますか?
app.get("/test", (req, res) => {
res.send(req.protocol)
})
@hongminhee@fedibird.com httpsだった……
@kisaragi_marine なぜMisskeyからのリクエストだけがhttpで受け入れられるのでしょうか? 本当に謎ですね。
@hongminhee@fedibird.com serveo.netだと照会に成功して、lhr.lifeだと照会に失敗するかも?
@kisaragi_marine あ、もしかしてMisskeyの方にキャッシュされているのでは?
@hongminhee@fedibird.com 何度かnpx @fedify/cli tunnel $PORT
で引き直してるのでキャッシュしようがないはず
@kisaragi_marine 今確認してみるとlhr.lifeの方もX-Forwarded-Protoヘッダをちゃんと送ってくれていますね。謎ですね。
@hongminhee@fedibird.com こんな感じに: