garbagetown

個人の日記です

proxy あれこれ

カイシャの中で遊んでいるとコトあるごとにファイアウォールに邪魔されてムカつきますが、これもまあひとつの勉強と思ってちまちまやっています。
以下、説明のためプロキシサーバのホスト名を your.proxy.server、ポートを 8080 と仮定して設定方法を示します。プロキシ認証が必要な場合については調査していません。

環境変数

環境変数 http_proxy にプロキシの情報を設定することでファイアウォール内から wget や apt-get を実行できるようになります。

$ vi ~/.bashrc

末尾にプロキシの設定を追記したら source で設定を反映します。

export http_proxy=http://your.proxy.server:8080/
$ source ~/.bashrc

wget

環境変数を設定してもうまく wget で接続できない場合は、/etc/wgetrc にプロキシ用の設定を追記すると繋がるかもしれません。

$ sudo vi /etc/wgetrc

ftp_proxy はお好みで。

(snip)
# You can set the default proxies for Wget to use for http and ftp.
# They will override the value in the environment.
http_proxy = http://your.proxy.server:8080/
#ftp_proxy = http://your.proxy.server:8080/

# If you do not want to use proxy at all, set this to off.
use_proxy = on
(snip)

apt-get

環境変数を設定してもうまく apt-get で接続できない場合は、プロキシ用の設定ファイルを新規作成すると繋がるかもしれません。

$ sudo vi /etc/apt/apt.conf.d/01proxy

作成した 01proxy にプロキシの設定を書きます。

Acquire::http::Proxy "http://your.proxy.server:8080/";

maven

maven は os の環境変数を見てくれないようです。maven 用の設定ファイルにプロキシの設定を書きます。

$ sudo vi /etc/maven2/settings.xml
(snip)
<proxies>
  <!-- proxy
   | Specification for one proxy, to be used in connecting to the network.
   |
  -->
  <proxy>
    <active>true</active>
    <protocol>http</protocol>
    <host>your.proxy.server</host>
    <port>8080</port>
  </proxy>
</proxies>
(snip)

gem

gem は os の環境変数を見てくれるのですが、gem を実行する際は大抵 sudo しており、sudo をカマすと ~/.bashrc の内容が効かないので、--http-proxy オプションを指定する必要があります。

$ sudo gem install rails --http-proxy=http://your.proxy.server:8080/

alias を切る方法 もあるようですが、試していません。