Closed1
プロキシが有効なサーバー内のDockerコンテナに外部からSSHするとHTTPリクエストが通らない
内部から docker exec -it ~~
みたいにして入って curl https://example.com
するのは通るのに、Tailscale などで外部から SSH して入ると HTTP リクエストが通らない (DNS 名前解決はされている) ことがあった。
ChatGPTに聞いたらなんか環境変数が違うことがあるから確認してみて~って言っていたのでその通りにしたところ、exec の方では http_proxy
などのプロキシ設定があるのに SSH した方ではなくなっていることに気づいた。
なので、明示的に .bashrc
にそのプロキシ設定を保存するようにしたところ、SSH してもちゃんと HTTP リクエストできるようになった。
setup-env.sh
#!/bin/bash
env_variables="
# proxy
export http_proxy=$http_proxy
export https_proxy=$https_proxy
export HTTP_PROXY=$http_proxy
export HTTPS_PROXY=$https_proxy
export no_proxy=$no_proxy
"
echo "$env_variables" >>~/.bashrc
これをスタートアップに実行するスクリプトに入れた。
$http_proxy
などは実行時に実際の値 (http://~~
) に置き換わる。
このスクラップは2024/04/08にクローズされました