Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
うちのインスタンスでは、global-tuunel-ngで対応しているけど、
host名にポート番号が含まれてしまって、Mastodonのインスタンスに401返される問題が発生している。
とりあえずは、検証対象にhost外して対処しているけれども…
https://gitlab.com/misskey-tor/misskey/issues/5
e1cc2394 でHostを入れるようになったので、https://github.com/syuilo/misskey/issues/2894#issuecomment-429393224 の問題は解消、global-tunnel-ngで問題なくなりました。
ただ、プロキシを使う場合には、DNSキャッシュされると非常に困るのでその部分は削除してます。
(名前解決はMisskeyではなく、プロキシサーバが行わなければならないので)
AP deliverだけが未対応でやりたいけどなかなかできない
Nodeでhttpsリクエストを出す方法はざっと2つ
request (proxy対応) - AP deliver以外はこれを使用https (proxy非対応 (requestより低レイヤで処理)) - AP deliverはこれを使用APにはHttpSignatureが必要、それに使ってるモジュールがhttp-signature
これがhttps`でRequestオブジェクトを作った後に使用する必要がある
requestでhttp-signatureが使えればいいものの
requestはRequestオブジェクト生成後に処理を挟むことが出来ない
requestにはhttp-signatureモジュールを呼び出す専用の機能があるが
http-signature自体の実装が古く少しヘッダを整形する必要があるため、そのまま呼び出して使用することが出来ない。
おそらくhttp-signatureが
https://github.com/joyent/node-http-signature/pull/83 をマージしてくれればいいのだが
あまり保守されている様子がなく見込みがない。
対応するには、http-signatureとrequestを両方forkする必要がある。
または、HTTP CONNECT に対応したProxy Clinetを書く必要がある。
AP request Proxy対応できそう
Related to https://forum.fedeloper.jp/t/topic/68/5
web-push がProxy使うっぽいわ
Most helpful comment
AP request Proxy対応できそう