HTTPSで通信する色々なコマンドにMITMするためのパラメータの渡し方が微妙に違っていて毎回調べている気がするのでこっちに証明書ファイルとproxyのURLの渡し方をメモしていきます。
デバッグ用途で使う想定。
前準備
pemファイル作る
DER -> PEM
の変換
openssl x509 -inform der -in cert.crt -out cert.pem
proxy立てる
立てるだけ。ここでは127.0.0.1:8080
に立ってる想定で話をします。
Ruby
v2.6 net/https
でためした
$ SSL_CERT_FILE=./cert.pem HTTP_PROXY="http://127.0.0.1:8080"
gcloudコマンド
Google Cloud SDK 269.0.0
でためした
gcloudコマンドはHTTP_PROXYとHTTPS_PROXY環境変数を受け付けてそう。
configで証明書指定するとうっかりunsetし忘れそうなので誰か環境変数でセットする方法しってたら教えて下さい。
$ gcloud config set core/custom_ca_certs_file ./cert.pem
$ HTTPS_PROXY="http://localhost:8080" gcloud foo bar
$ gcloud config unset core/custom_ca_certs_file
Node.js
v12.9.0
でためした
$ CUSTOM_CA_CERTS_FILE=./cert.pem HTTP_PROXY="http://localhost:8080" node ./main.js