NonSoft

認証機能付きHTTPプロキシサーバ(SQUID)を
インストールする方法


 ち〜な〜み〜に〜

HTTPプロキシサーバを使用するソフトウェアを開発する際に認証プロキシサーバが必用になったので
フリーのプロキシサーバを構築してみました。

今回、インストールしたプロキシサーバはSQUIDです。


<SQUIDのダウンロード方法>
http://squid.acmeconsulting.it/の"Squid Downloads"リンクからダウンロードします。
SQUIDのダウンロード方法

現時点の最新バイナリファイルはhttp://squid.acmeconsulting.it/download/squid-2.7.STABLE8-bin.zipでした。


<SQUIDのインストール方法>
1.squid-2.7.STABLE8-bin.zipを解凍します。

2.解凍して出来たsquidフォルダをC:\にコピーします。

3.C:\squid\etcフォルダのsquid.conf.defaultファイルのコピーをsquid.confに名前を変えます。

4.C:\squid\etcフォルダのmime.conf.defaultファイルのコピーをmime.confに名前を変えます。

5.C:\squid\etcフォルダにpasswdという新規ファイルを作成します。
ファイルの中身はhtpasswd.exeというツールでプロキシ認証で使用する"ユーザID:パスワード"を暗号化した文字列です。
htpasswd.exeというツールが無い場合は、こちらのサイト「.htaccess による認証用 パスワード暗号化ツール」が役に立ちます。
htpasswdと同様のパスワード暗号化ツール

ちなみに"user:pass"という文字列を暗号化すると"user:bTushp8C/Px2w"になりました。
この暗号化した"ユーザID:パスワード"文字列をpasswdファイルに記述し保存します。

6.squid.confファイルを編集します。
"auth_param basic program"という文字列を見つけ、次の行を追加します。
auth_param basic program c:/squid/libexec/ncsa_auth.exe c:/squid/etc/passwd

"acl password proxy_auth REQUIRED"という文字列を見つけ、次の行を追加します。
acl password proxy_auth REQUIRED

"acl localnet src"という文字列を見つけ、次の行をコメントにします。
#acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
#acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
#acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
そして自分のネットワーク環境の設定を記述します。例えば、次のような記述です。
acl localnet src 192.168.0.0/24 # RFC1918 possible internal network

"http_access allow localnet"という文字列を見つけ、次の行をコメントにします。
#http_access allow localnet
そして次の行を追加します。
http_access allow password

"http_port 3128"という文字列を見つけ、次の行をコメントにします。
#http_port 3128
そして次の行を追加します。
http_port 8080

"cache_dir ufs"という文字列を見つけ、次の行を追加します。
cache_dir ufs c:/squid/var/cache 10 16 256

"visible_hostname"という文字列を見つけ、次の行を追加します。
visible_hostname proxy.xxxx.com
Squid.confファイルの編集


7.次のコマンドでsquid.confファイルのエラーチェックとキャッシュエリア作成をします。
C:\squid\sbin\squid -z
Squidエラーチェックとキャッシュエリア作成
※squid.confファイルに記述ミスがあるとエラーが発生します。

8.次のコマンドでWindowsのサービス登録します。
C:\squid\sbin\squid -i
Squidサービス登録

※ちなみに、次のコマンドでWindowsのサービス削除出来ます。
C:\squid\sbin\squid -r


<SQUIDの起動方法>
「コントロールパネル」の「管理ツール」の「サービス」でSquidサービスを起動します。
Squidサービスを起動


<関連情報>
HTTPプロキシ認証中継ツール(HttpProxyAuth)
HTTPプロキシ認証に対応していないソフトを認証プロキシを経由して使用するプロキシ中継ツール