プロキシの設定方法
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfras...
-[[戻る>Linuxの各種 手順]]
*目次 [#ea5ed371]
#contents
*概要 [#ab21cc80]
Linux環境でプロキシを設定する方法。
**設定例 [#d9ce56e7]
***通常プロキシ [#xfae2fc5]
通常プロキシを導入している場合、
-プロキシURLの設定方法に付いて
--http://proxy.example.com:8080
--http://<HOSTNAME>:<PORTNUMBER>
-具体的な設定場所については後述。
***認証プロキシ [#qa27a84b]
認証プロキシを導入している場合、
-プロキシURLの設定方法に付いて
--http://userid:password@proxy.example.com:8080
--http://<USERID>:<PASSWORD>@<HOSTNAME>:<PORTNUMBER>
>※ <USERID> や <PASSWORD> に @ や : などの記号が含まれる...
-具体的な設定場所については後述。
***SSLフォワード・プロキシ [#n7e5e9a9]
SSLフォワード・プロキシを導入している場合、
-SSLフォワード・プロキシが配布する証明書を指定する必要が...
-復号化とパススルーが混在する場合は、既存証明書に証明書を...
-ディストリビューション毎に、CA証明書バンドル(.pem)のフ...
--CA証明書バンドル(.pem)を管理ツールが証明書ディレクト...
--各証明書ファイル(.crt)を所定の証明書ディレクトリに配...
-Ubuntuでの手順
--SSLフォワード・プロキシの証明書を適切なディレクトリにコ...
sudo cp server-cert.pem /usr/local/share/ca-certificates...
--証明書ストアを更新、/ca-certificates/ の証明書を /etc/s...
$ sudo update-ca-certificates
textUpdating certificates in /etc/ssl/certs...
1 added, 0 removed; done.
--証明書ストアの確認、証明書ファイル名やそのハッシュ値に...
ls /etc/ssl/certs | grep server-cert
-[[ツール事の手順>#r4664a57]]
***Squidプロキシ [#mea8ebd0]
-認証機能を持った、Webプロキシキャッシュサーバ
-認証プロキシを通常のプロシキと同様の設定でバイパスできる。
-[[SSLフォワード・プロキシ>#n7e5e9a9]]としての機能もある。
**インターネット・オプション的な [#laecfd41]
***macOS [#z2e174f8]
-プロキシ~
“システム環境設定” → “ネットワーク” → ネットワークデバイ...
-証明書ストア~
システム全体またはユーザーレベルでの証明書を管理するため...
***Linuxのデスクトップ環境 [#s4ee1495]
-プロキシ
--GNOME:[設定] → [ネットワーク] → [ネットワークプロキシ]
--KDE:[システム設定] → [ネットワーク] → [接続] → [プロキ...
-証明書ストア
--GNOME Keyring(gnome-keyring-daemon)
--KDE Wallet Manager(KWallet)
>※ システム全体のCA証明書バンドルとは別のユーザー向けの証...
**環境変数で設定 [#y2f549fb]
シェル単位・ユーザー単位でプロキシ設定する最も一般的な方法
***一時的に設定(シェル内のみ有効) [#k12741b9]
export http_proxy=http://proxy.example.com:8080
export https_proxy=http://proxy.example.com:8080
export ftp_proxy=http://proxy.example.com:8080
export no_proxy=localhost,127.0.0.1,.example.com
***永続的に設定(ログイン時に反映) [#g76469e8]
-bash(~/.bashrc または ~/.bash_profile) に記述:
echo 'export http_proxy=http://proxy.example.com:8080' >...
echo 'export https_proxy=http://proxy.example.com:8080' ...
echo 'export no_proxy=localhost,127.0.0.1,.example.com' ...
-その後、反映:
source ~/.bashrc
-参考:[[環境変数の設定方法 > 汎用的な設定ファイル>環境変...
*詳細 [#xdb7058d]
以下は、ツールごとの話。
**シェル [#wd5aaea0]
***Bourne Shell (sh) 系 [#d838af95]
sh や bash、ksh など。
export http_proxy="http://proxy.example.com:8080"
export https_proxy=$http_proxy
***csh 系 [#z4ce4f3a]
csh や tcshなど、レガシー環境の場合
setenv http_proxy "http://proxy.example.com:8080"
setenv https_proxy $http_proxy
**パッケージ・マネージャ [#cbe64ab2]
***APT(Debian/Ubuntu) [#q511a3e3]
-メイン設定ファイルを使用する例
--*.conf
sudo vi /etc/apt/apt.conf
--設定
Acquire::http::proxy "http://proxy.example.com:8080";
Acquire::https::proxy "http://proxy.example.com:8080";
-設定ディレクトリ内の個別ファイルを使用する例
sudo tee /etc/apt/apt.conf.d/95proxies <<EOF
Acquire::http::proxy "http://proxy.example.com:8080";
Acquire::https::proxy "http://proxy.example.com:8080";
***YUM(RHEL/CentOS 7系まで) [#i7e0642d]
-*.conf
sudo vi /etc/yum.conf
-設定
proxy=http://proxy.example.com:8080
proxy_username=<USERID>
proxy_password=<PASSWORD>
**Web ブラウザ [#g9f648a7]
Webブラウザの種類やデスクトップ環境(GNOME, KDEなど)によ...
***CLIブラウザ [#q74e563c]
(w3m, lynx, curl, wget)
-基本的に、環境変数を使用する。
-ツール毎にI/Fを持っていることも。
***GUIブラウザ [#y819218f]
(Firefox, Chromium, Chrome)
-FirefoxはOSの環境変数を参照しないためGUIから手動設定が必要
-Chrome/Chromium
--プロキシ設定をシステム設定(GNOMEやKDEの設定)に依存
--Chrome のコマンドラインで直接指定(プロキシ自動設定など)
**その他のツール [#h84571cd]
個別に調査すべし。
***プロキシ設定の環境変数 [#g5f09279]
基本的に、環境変数を使用するが、ツール毎に専用の設定I/Fが...
-CLI:
--curl、wget、git
--pip、npm / yarn
--docker CLI、AWS CLI、Azure CLI、Google Cloud SDK
-プログラミング言語の標準ライブラリ
--Python:requests, urllib
--Node.js:http / https
--Java:JVM
--Ruby:open-uri
--Go:net/http
***独立した証明書を使用 [#r4664a57]
-OSの証明書ストアとは別の証明書を使用するランタイムもある。
--[[Python(requests / urllib3):certifi>Python#y9ac7218]]
--Node.js:Node.js 組み込みの CA ストア
--Java (JVM系全般):cacerts(JKS形式のキーストア)
--Rust(reqwest等):独自のバンドル or rustls のビルトイ...
--Go (net/http):Goランタイムに依存
-アプリケーション毎の設定方法の例
--curlで特定の証明書を使用する場合、
curl --cacert /path/to/server-cert.pem https://your-serv...
--wgetで特定の証明書を使用する場合、
wget --ca-certificate=/path/to/server-cert.pem https://y...
--Javaアプリケーションの場合はcacerts(JKS形式のキースト...
sudo keytool -import -trustcacerts -file server-cert.pem...
-[[アプリケーション毎の設定でバンドルを使う場合>Python#y9...
*手順 [#d71d9ebb]
WSL2上のUbuntuの手順
**認証プロキシ [#fe09f74b]
***APT [#vd386ad8]
-以下に追記
sudo vi /etc/apt/apt.conf
-以下を追記
Acquire::http::proxy "http://@を%40にエスケープしたメー...
Acquire::https::proxy "http://@を%40にエスケープしたメー...
※ アカウントがメアドのケースで、ポート番号が8080の場合(...
***環境変数 [#r73a9d49]
[[環境変数の設定方法]]を参考に、ユーザー単位で .bashrc に...
echo 'export http_proxy="http://@を%40にエスケープしたメ...
echo 'export https_proxy="http://@を%40にエスケープした...
echo 'export HTTP_PROXY="http://@を%40にエスケープしたメ...
echo 'export HTTPS_PROXY="http://@を%40にエスケープした...
source ~/.bashrc
※ アカウントがメアドのケースで、ポート番号が8080の場合(...
※ .bashrcに追記って何処に書くの?って思ってたケド、「>>」...
※ 環境変数の大文字・小文字は区別され、ツールによっては大...
**復号中継プロキシ [#a95d88a0]
復号中継「&パススルー機能付きの」プロキシを経由する場合...
***OSの証明書ストア [#ka66b8ac]
-証明書を適切なディレクトリにコピー
sudo cp /mnt/c/xxxxx.cer /usr/local/share/ca-certificate...
-証明書ストアを更新
$ sudo update-ca-certificates
textUpdating certificates in /etc/ssl/certs...
1 added, 0 removed; done.
-証明書ストアの確認
ls /etc/ssl/certs | grep server-cert
***[[Pythonの証明書ストア>Python#y9ac7218]] [#j87b8fef]
*参考 [#vb3bf87f]
**Qiita [#o56db2c7]
-apt のプロキシ対応 #Ubuntu~
https://qiita.com/m-tmatma/items/e3d9de76be50763ac01c
> sudo nano /etc/apt/apt.conf で Acquire::http::Proxy, Ac...
-独自 root CA 証明書のインストール方法 (Ubuntu) #ca-certi...
https://qiita.com/matarillo/items/c04d8afd09eada27a2b2
**[[Windowsの場合>https://techinfoofmicrosofttech.osscons...
終了行:
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfras...
-[[戻る>Linuxの各種 手順]]
*目次 [#ea5ed371]
#contents
*概要 [#ab21cc80]
Linux環境でプロキシを設定する方法。
**設定例 [#d9ce56e7]
***通常プロキシ [#xfae2fc5]
通常プロキシを導入している場合、
-プロキシURLの設定方法に付いて
--http://proxy.example.com:8080
--http://<HOSTNAME>:<PORTNUMBER>
-具体的な設定場所については後述。
***認証プロキシ [#qa27a84b]
認証プロキシを導入している場合、
-プロキシURLの設定方法に付いて
--http://userid:password@proxy.example.com:8080
--http://<USERID>:<PASSWORD>@<HOSTNAME>:<PORTNUMBER>
>※ <USERID> や <PASSWORD> に @ や : などの記号が含まれる...
-具体的な設定場所については後述。
***SSLフォワード・プロキシ [#n7e5e9a9]
SSLフォワード・プロキシを導入している場合、
-SSLフォワード・プロキシが配布する証明書を指定する必要が...
-復号化とパススルーが混在する場合は、既存証明書に証明書を...
-ディストリビューション毎に、CA証明書バンドル(.pem)のフ...
--CA証明書バンドル(.pem)を管理ツールが証明書ディレクト...
--各証明書ファイル(.crt)を所定の証明書ディレクトリに配...
-Ubuntuでの手順
--SSLフォワード・プロキシの証明書を適切なディレクトリにコ...
sudo cp server-cert.pem /usr/local/share/ca-certificates...
--証明書ストアを更新、/ca-certificates/ の証明書を /etc/s...
$ sudo update-ca-certificates
textUpdating certificates in /etc/ssl/certs...
1 added, 0 removed; done.
--証明書ストアの確認、証明書ファイル名やそのハッシュ値に...
ls /etc/ssl/certs | grep server-cert
-[[ツール事の手順>#r4664a57]]
***Squidプロキシ [#mea8ebd0]
-認証機能を持った、Webプロキシキャッシュサーバ
-認証プロキシを通常のプロシキと同様の設定でバイパスできる。
-[[SSLフォワード・プロキシ>#n7e5e9a9]]としての機能もある。
**インターネット・オプション的な [#laecfd41]
***macOS [#z2e174f8]
-プロキシ~
“システム環境設定” → “ネットワーク” → ネットワークデバイ...
-証明書ストア~
システム全体またはユーザーレベルでの証明書を管理するため...
***Linuxのデスクトップ環境 [#s4ee1495]
-プロキシ
--GNOME:[設定] → [ネットワーク] → [ネットワークプロキシ]
--KDE:[システム設定] → [ネットワーク] → [接続] → [プロキ...
-証明書ストア
--GNOME Keyring(gnome-keyring-daemon)
--KDE Wallet Manager(KWallet)
>※ システム全体のCA証明書バンドルとは別のユーザー向けの証...
**環境変数で設定 [#y2f549fb]
シェル単位・ユーザー単位でプロキシ設定する最も一般的な方法
***一時的に設定(シェル内のみ有効) [#k12741b9]
export http_proxy=http://proxy.example.com:8080
export https_proxy=http://proxy.example.com:8080
export ftp_proxy=http://proxy.example.com:8080
export no_proxy=localhost,127.0.0.1,.example.com
***永続的に設定(ログイン時に反映) [#g76469e8]
-bash(~/.bashrc または ~/.bash_profile) に記述:
echo 'export http_proxy=http://proxy.example.com:8080' >...
echo 'export https_proxy=http://proxy.example.com:8080' ...
echo 'export no_proxy=localhost,127.0.0.1,.example.com' ...
-その後、反映:
source ~/.bashrc
-参考:[[環境変数の設定方法 > 汎用的な設定ファイル>環境変...
*詳細 [#xdb7058d]
以下は、ツールごとの話。
**シェル [#wd5aaea0]
***Bourne Shell (sh) 系 [#d838af95]
sh や bash、ksh など。
export http_proxy="http://proxy.example.com:8080"
export https_proxy=$http_proxy
***csh 系 [#z4ce4f3a]
csh や tcshなど、レガシー環境の場合
setenv http_proxy "http://proxy.example.com:8080"
setenv https_proxy $http_proxy
**パッケージ・マネージャ [#cbe64ab2]
***APT(Debian/Ubuntu) [#q511a3e3]
-メイン設定ファイルを使用する例
--*.conf
sudo vi /etc/apt/apt.conf
--設定
Acquire::http::proxy "http://proxy.example.com:8080";
Acquire::https::proxy "http://proxy.example.com:8080";
-設定ディレクトリ内の個別ファイルを使用する例
sudo tee /etc/apt/apt.conf.d/95proxies <<EOF
Acquire::http::proxy "http://proxy.example.com:8080";
Acquire::https::proxy "http://proxy.example.com:8080";
***YUM(RHEL/CentOS 7系まで) [#i7e0642d]
-*.conf
sudo vi /etc/yum.conf
-設定
proxy=http://proxy.example.com:8080
proxy_username=<USERID>
proxy_password=<PASSWORD>
**Web ブラウザ [#g9f648a7]
Webブラウザの種類やデスクトップ環境(GNOME, KDEなど)によ...
***CLIブラウザ [#q74e563c]
(w3m, lynx, curl, wget)
-基本的に、環境変数を使用する。
-ツール毎にI/Fを持っていることも。
***GUIブラウザ [#y819218f]
(Firefox, Chromium, Chrome)
-FirefoxはOSの環境変数を参照しないためGUIから手動設定が必要
-Chrome/Chromium
--プロキシ設定をシステム設定(GNOMEやKDEの設定)に依存
--Chrome のコマンドラインで直接指定(プロキシ自動設定など)
**その他のツール [#h84571cd]
個別に調査すべし。
***プロキシ設定の環境変数 [#g5f09279]
基本的に、環境変数を使用するが、ツール毎に専用の設定I/Fが...
-CLI:
--curl、wget、git
--pip、npm / yarn
--docker CLI、AWS CLI、Azure CLI、Google Cloud SDK
-プログラミング言語の標準ライブラリ
--Python:requests, urllib
--Node.js:http / https
--Java:JVM
--Ruby:open-uri
--Go:net/http
***独立した証明書を使用 [#r4664a57]
-OSの証明書ストアとは別の証明書を使用するランタイムもある。
--[[Python(requests / urllib3):certifi>Python#y9ac7218]]
--Node.js:Node.js 組み込みの CA ストア
--Java (JVM系全般):cacerts(JKS形式のキーストア)
--Rust(reqwest等):独自のバンドル or rustls のビルトイ...
--Go (net/http):Goランタイムに依存
-アプリケーション毎の設定方法の例
--curlで特定の証明書を使用する場合、
curl --cacert /path/to/server-cert.pem https://your-serv...
--wgetで特定の証明書を使用する場合、
wget --ca-certificate=/path/to/server-cert.pem https://y...
--Javaアプリケーションの場合はcacerts(JKS形式のキースト...
sudo keytool -import -trustcacerts -file server-cert.pem...
-[[アプリケーション毎の設定でバンドルを使う場合>Python#y9...
*手順 [#d71d9ebb]
WSL2上のUbuntuの手順
**認証プロキシ [#fe09f74b]
***APT [#vd386ad8]
-以下に追記
sudo vi /etc/apt/apt.conf
-以下を追記
Acquire::http::proxy "http://@を%40にエスケープしたメー...
Acquire::https::proxy "http://@を%40にエスケープしたメー...
※ アカウントがメアドのケースで、ポート番号が8080の場合(...
***環境変数 [#r73a9d49]
[[環境変数の設定方法]]を参考に、ユーザー単位で .bashrc に...
echo 'export http_proxy="http://@を%40にエスケープしたメ...
echo 'export https_proxy="http://@を%40にエスケープした...
echo 'export HTTP_PROXY="http://@を%40にエスケープしたメ...
echo 'export HTTPS_PROXY="http://@を%40にエスケープした...
source ~/.bashrc
※ アカウントがメアドのケースで、ポート番号が8080の場合(...
※ .bashrcに追記って何処に書くの?って思ってたケド、「>>」...
※ 環境変数の大文字・小文字は区別され、ツールによっては大...
**復号中継プロキシ [#a95d88a0]
復号中継「&パススルー機能付きの」プロキシを経由する場合...
***OSの証明書ストア [#ka66b8ac]
-証明書を適切なディレクトリにコピー
sudo cp /mnt/c/xxxxx.cer /usr/local/share/ca-certificate...
-証明書ストアを更新
$ sudo update-ca-certificates
textUpdating certificates in /etc/ssl/certs...
1 added, 0 removed; done.
-証明書ストアの確認
ls /etc/ssl/certs | grep server-cert
***[[Pythonの証明書ストア>Python#y9ac7218]] [#j87b8fef]
*参考 [#vb3bf87f]
**Qiita [#o56db2c7]
-apt のプロキシ対応 #Ubuntu~
https://qiita.com/m-tmatma/items/e3d9de76be50763ac01c
> sudo nano /etc/apt/apt.conf で Acquire::http::Proxy, Ac...
-独自 root CA 証明書のインストール方法 (Ubuntu) #ca-certi...
https://qiita.com/matarillo/items/c04d8afd09eada27a2b2
**[[Windowsの場合>https://techinfoofmicrosofttech.osscons...
ページ名: