プロキシを使用するネットワークにあります。私のコンピュータは、どこからでもHTTPを介して互いにアクセスする多くのスクリプトを使用しています。
- ネットワークは10.0.0.0/8です。
私のプロキシは10.1.1.1:81なので、それに応じて設定しました。
export http_proxy=http://10.1.1.1:81/
プロキシ経由でアクセスできるように私の範囲を除外したいと思います。私は可能なすべての組み合わせを試しました。
export no_proxy='10.*' export no_proxy='10.*.*.*' export no_proxy='10.0.0.0/8'
上記のどれも動作しません!
テスト中ですが、wget
接続したいIPアドレスに関係なく、常にプロキシクエリを試してください。
- 多くのスクリプトがすべてのシステムのどこにでもあるため、この
--no-proxy
オプションは実際にはオプションではありません。システム全体に設定したいです。
ベストアンサー1
問題の見方が間違っています。環境no_proxy
変数は、プレフィックスではなくドメインサフィックスをリストします。 ~から文書:
no_proxy
:この変数には、コンマで区切られたドメイン拡張プロキシのリストを含める必要があります。いいえ使用。
したがって、IPには2つのオプションがあります。
1)各IPを完全に追加します。
printf -v no_proxy '%s,' 10.1.{1..255}.{1..255};
export no_proxy="${no_proxy%,}";
2)URLが提供されているホストのIPを見つけ、プロキシを使用するかどうかを決定するラッパースクリプト(という)の名前を変更してwget
作成します。wget-original
wget
#!/bin/bash
ip='';
for arg; do
# parse arg; if it's a URL, determine the IP address
done;
if [[ "$ip" =~ ^10\.1\. ]]; then
wget-original --no-proxy "$@";
else
wget-original "$@";
fi;