facebook twitter hatena line google mixi email

Linux/squidインストール

提供: 初心者エンジニアの簡易メモ
移動: 案内検索

squidとは

プロキシサーバ構築ソフト

squidインストール

yum install squid

squid設定ファイル

vi /etc/squid/squid.conf

localhost以外からの接続を追加

$ vi /etc/squid/squid.conf
acl net1 src 36.xxx.xxx.xxx/255.255.255.0
http_access allow net1

プロキシサーバーを使用している端末のローカルIPアドレスを隠蔽化

$ vi /etc/squid/squid.conf
forwarded_for off

プロキシ情報を接続先で隠匿

$ vi /etc/squid/squid.conf
header_access X-Forwarded-For deny all
header_access Via deny all
header_access Cache-Control deny all

起動

/etc/rc.d/init.d/squid start

自動起動

/sbin/chkconfig squid on

接続テスト

$ telnet localhost 3128
GET http://example.com/index.php?test
#接続先webのapache_logには、このように出力される
127.0.0.1 - - [08/Jun/2014:01:42:15 +0900] "GET /index.php?test HTTP/1.1" 200 17540 "-" "-"

phpで接続

<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://example.com/index.php?hoge");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // curl_exec()の結果を文字列で
//curl_setopt($ch, CURLOPT_HEADER, true); // ヘッダも出力
curl_setopt($ch, CURLOPT_PROXY, "localhost:3128");
//curl_setopt($ch, CURLOPT_PROXYUSERPWD, "$proxyUsername:$proxyPassword");
$c = curl_exec($ch);
curl_close($ch);
echo $c;