Closed1

プロキシが有効なサーバー内のDockerコンテナに外部からSSHするとHTTPリクエストが通らない

PlatPlat

内部から 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にクローズされました