local-tls-proxy: すべてのポートを HTTPS にする
(github.com/jc-lab)ブラウザーで Secure Context をテストする必要があったのですが、似たようなプログラムはいくつかあるものの、設定が少し面倒でした。
そこで、どのポートでもプロキシできるように作ったのが local-tls-proxy です。
CA 証明書を自動生成し、-install 引数でインストールできます。Linux と Windows の両方に対応しています。
すべての https://{ポート}.{IP}.sslip.io へのリクエストを http://{IP}:{ポート} にプロキシします。
使い方:
- CA 証明書をインストール
- Linux の場合:
$ sudo ./local-tls-proxy -install - Windows(管理者モード)の場合:
> local-tls-proxy.exe -install
-
プロキシを実行
$ ./local-tls-proxy -port 5443 -
これで
https://{ポート}.{IP}.sslip.io:5443/にアクセスすると、http://{IP}:{ポート}/にプロキシされます。
たとえばhttps://5173.127-0-0-1.sslip.io:5443/はhttp://127.0.0.1:5173/に接続されます。
5件のコメント
{port}.{ip}でプロキシを正常に使うには、DNS 応答は入力した IP に関係なくローカルを返す必要があるはずですが、そうではなく入力した IP を応答として返していますね。(この場合、当然ながら HTTPS の処理も、そのポートへのフォワーディングも動作しません)コードを見ると証明書の発行も
*.127-0-0-1.sslip.ioで生成しているので、、、これならアドレス規則から IP を外してもよいのではないかと思います最高
ngrok や cloudflared みたいなものもあるけど、設定なしで簡単にテストするにはかなり良さそうですね!
CA証明書を削除する方法は用意されていますか?
簡単に作ったので、まだ削除機能はありません。
Windows の場合は、mmc -> 証明書に入って削除できます。