チュートリアルを追っててMastodonの代わりにMisskeyで照会しようとしたら上述のエラーが出たので、一旦URLをハードコード (1枚目) したら治ったけれど謎…
curl -H 'Accept: application/activity+json' https://6d02f6726ac4ff.lhr.life/users/me | jq した結果ではhttpsスキーマなのでなおのこと謎という

多分X-Forwarded-Protoヘッダを活用できない様です。behindProxy()ミドルウェアを設定しましたか?

fedify.dev/tutorial/basics#exp

expressだからapp.set("trust proxy", true);するだけで良いのでは……と思ってたけど違いますか…?

あれ、そうですね。app.set()のコールする順番の問題でしょうかね?Expressをあまり使った事が無いので良く分かりませんが。 :blobcatthinkingeyes:

const app = express();
app.set("trust proxy", true);

のようにしてもダメだったので謎……

ExpressとFedifyの連携は@fedify/expressパッケージを使用したのですか?

下記の様にテスト用のルートを追加してプロキシを経由してリクエストを送信すると、応答で「https」という文字列が正しく表示されますか?

app.get("/test", (req, res) => {
res.send(req.protocol)
})

なぜMisskeyからのリクエストだけがhttpで受け入れられるのでしょうか? :blobcatthinkingeyes: 本当に謎ですね。

serveo.netだと照会に成功して、lhr.lifeだと照会に失敗するかも?

あ、もしかしてMisskeyの方にキャッシュされているのでは?

何度かnpx @fedify/cli tunnel $PORTで引き直してるのでキャッシュしようがないはず

今確認してみるとlhr.lifeの方もX-Forwarded-Protoヘッダをちゃんと送ってくれていますね。謎ですね。 :thinking_rotate:

ログインして会話に参加
Fedibird

様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。