マイコンピュータには次のものがあります。
$ cat /etc/profile.d/proxy.sh
export http_proxy=http://192.168.1.30:3128
export https_proxy=https://192.168.1.30:3128
これは、localhostのアプリケーションでHTTPインタフェースを使用する必要があるまでうまく機能しました。
$ wget localhost
--2023-03-02 06:54:52-- http://localhost/
Connecting to 192.168.1.30:3128... connected.
Proxy request sent, awaiting response... 503 Service Unavailable
2023-03-02 06:54:52 ERROR 503: Service Unavailable.
$ wget 127.0.0.1
--2023-03-02 06:55:20-- http://127.0.0.1/
Connecting to 192.168.1.30:3128... connected.
Proxy request sent, awaiting response... 403 Forbidden
2023-03-02 06:55:20 ERROR 403: Forbidden.
localhost
リクエストが127.0.0.1
プロキシに転送されるのを防ぐ方法はありますか?
詳細:
この端末はインターネットに直接接続されていません。ゲートウェイまたはデフォルトパスはありません。ただし、プロキシサーバー(ポート3128)がインストールされており、インターネットに接続されているプロキシシステム(192.168.1.30)があるLANにあります。
$ ip addr
1: lo: ...
inet 127.0.0.1/8 scope host lo
2: eno1: ...
altname enp24s0f0
inet 192.168.1.100/24 brd 192.168.1.255 scope global eno1
$ ip route
192.168.1.0/24 dev eno1 proto kernel scope link src 192.168.1.100
$ cat /etc/hosts
127.0.0.1 localhost
$ cat /etc/network/interfaces
auto lo
iface lo inet loopback
auto eno1
iface eno1 inet static
address 192.168.1.100
netmask 255.255.255.0
答え1
wget
マニュアルページから:
環境
WgetはHTTPおよびFTP検索プロキシをサポートしています。 Wgetが認識するプロキシの場所を指定する標準的な方法は、次の環境変数を使用することです。
http_proxyそしてhttps_proxy
設定されている場合、http_proxy変数とhttps_proxy変数には、それぞれHTTPおよびHTTPS接続のプロキシURLを含める必要があります。
ftp_proxy
この変数にはFTP接続プロキシのURLを含める必要があります。 http_proxyとftp_proxyが同じURLに設定されるのが一般的です。
プロキシなし
この変数には、コンマで区切られたドメイン拡張プロキシのリストを含める必要があります。いいえたとえば、 no_proxy の値がある場合、
.mit.edu
プロキシはMITから文書を取得するために使用されません。
したがって、次のよう/etc/profile.d/proxy.sh
に変更する必要があります。
export http_proxy=http://192.168.1.30:3128
export https_proxy=https://192.168.1.30:3128
export no_proxy="127.0.0.1,localhost"
*_proxy
環境変数を使用しないGUI Webブラウザがある場合エージェント自動構成ファイル、ファイルに名前を付けproxy.pac
、ローカルのHTTPサーバーがそのファイルのMIMEタイプを提供できるようにしますapplication/x-ns-proxy-autoconfig
。
次に、デスクトップ環境またはWebブラウザのプロキシ設定でプロキシ自動設定URL(可能であれば)を指定して、その自動設定ファイルを使用するようにデスクトップhttp://localhost/some/where/proxy.pac
環境および/またはWebブラウザを設定します。file:///some/location/proxy.pac
あなたの場合、ファイルの内容は次のとおりです。
function FindProxyForURL(url, host)
{
// If not a http: or https: URL, go direct always.
if (!shExpMatch(url,"http*") {
return "DIRECT";
}
// If the destination is:
// - any 127.*.*.* address
// - or anything like "localhost*"
// - or the web browser host's own IP address
// Then go direct to destination.
else if (shExpMatch(host, "127.*")
|| shExpMatch(host, "localhost*")
|| host == myIpAddress()) {
return "DIRECT";
}
else {
// Otherwise, use the proxy specified here.
return "PROXY 192.168.1.30:3128";
}
}