CentOS でプロキシ設定を行う方法 (システム全体とユーザー毎の設定) [HTTP/HTTPS/FTP Proxy]

CentOS でプロキシ設定を行う方法 (システム全体とユーザー毎の設定)

CentOS サーバーがファイアウォール配下に置かれていたり、直接インターネットに接続できない環境の場合には、プロキシサーバーを経由してインターネットに接続する必要があります。

この記事では CentOS でプロキシサーバーを使ってインターネットあるいは外部ネットワークに接続する方法を解説します。ここでは HTTP プロトコル、HTTPS プロトコル、さらに FTP プロトコルでプロキシサーバーを使う設定を記載します。

また yum でプロキシサーバーを設定する方法も解説します。さらには特定のサーバーへの接続時にだけプロキシサーバーを使わない方法もあわせて記載します。



 CentOS システム全体に対してプロキシを設定する方法

CentOS システム全体(すべてのユーザーやプログラム)に対してプロキシを設定したい場合、/etc/environment ファイルにプロキシ設定を記述する必要があります。

http_proxy は HTTP プロトコル用で、https_proxy は HTTPS プロトコル用です。また ftp_proxy は FTP プロトコル用の設定となります。

小文字の http_proxy や https_proxy、sftp_proxy という設定と、大文字の HTTP_PROXY や HTTPS_PROXY、SFTP_PROXY をそれぞれ記述している理由は、プログラムによって小文字の設定しか適用されないものや、その逆に大文字の設定しか受け付けないプログラムがいくつか存在するためです。

また no_proxy という設定にドメイン名あるいはホスト名をカンマ区切りで書いておくと、それらのサーバーに接続する際にはプロキシサーバーを使わないようになります。
$ sudo vi /etc/environment

http_proxy="http://proxy-server.example.com:8080/"
HTTP_PROXY="http://proxy-server.example.com:8080/"
https_proxy="https://proxy-server.example.com:8080/"
HTTPS_PROXY="https://proxy-server.example.com:8080/"
ftp_proxy="ftp://proxy-server.example.com:8080/"
FTP_PROXY="ftp://proxy-server.example.com:8080/"
no_proxy=".example.co.jp,.test.local,server1.example.com,server2.example.com"

ユーザー毎にプロキシを設定する方法

CentOS システム全体ではなく、個別のユーザーにプロキシサーバーを設定したい場合には bash をお使いの場合には ~/.bash_profile にプロキシサーバー設定を記述し、zsh をお使いの場合には ~/.zsh_profile に次の設定を書き加えます。
$ vi ~/.bash_profile

http_proxy="http://proxy-server.example.com:8080/"
HTTP_PROXY="http://proxy-server.example.com:8080/"
https_proxy="https://proxy-server.example.com:8080/"
HTTPS_PROXY="https://proxy-server.example.com:8080/"
ftp_proxy="ftp://proxy-server.example.com:8080/"
FTP_PROXY="ftp://proxy-server.example.com:8080/"
no_proxy=".example.co.jp,.test.local,server1.example.com,server2.example.com"

yum でプロキシサーバーを経由する方法

yum でプロキシサーバーを使うように設定するには、/etc/yum.conf の末尾に次の設定を書き加える必要があります。この設定を行って yum update コマンドを実行すると、プロキシサーバーを経由してパッケージをインストールしたりアップデートすることが出来ます。

$ sudo vi /etc/yum.conf
 
proxy=http://proxy-server.example.com:8080/