Proxyサーバは、アクセスの代理を行うサーバです。Proxyサーバを経由してアクセスすることで例えば以下のメリットがあります。
- キャッシュ機能を利用し他の誰かが1度アクセスしたページは更新されない限り使いまわしができる
- フィルタによってアクセス制限をかけたり、ログの一括管理ができる
Proxyサーバは、アクセスの代理を行うサーバです。Proxyサーバを経由してアクセスすることで例えば以下のメリットがあります。
Portsからインストール
# cd /usr/ports/www/squid
# make install clean
SSLを利用したい場合は途中で以下のチェックを入れます。
[X] SQUID_SSL Enable SSL support for reverse proxies
squidというユーザも自動で作成されます。
以下の部分は最低限書き換えておきます。ディレクトリはFreeBSDの標準にしました。
# vi /usr/local/etc/squid/squid.conf
cache_access_log /var/log/squid/squid-access.log
cache_log /var/log/squid/squid-cache.log
cache_store_log /var/log/squid/squid-store.log
coredump_dir /var/log/squid/cache
pid_filename /var/run/squid.pid
acl frienduser src 192.168.0.0/255.255.255.0
http_access allow frienduser
cache_mgr webmaster@sewig.jp
cache_effective_group squid
forwarded_for off
logfile_rotate 12
# mkdir -p /var/log/squid/cache
# touch /var/log/squid/squid-store.log /var/log/squid/squid-cache.log /var/log/squid/squid-access.log
# chown -R squid:squid /var/log/squid
# squid -z
・起動スクリプトの編集
# vi /usr/local/etc/rc.d/squid.sh
squid_chdir=${squid_chdir:-/var/log/squid}
・ログローテート
# vi /etc/crontab
30 3 * * * squid /usr/local/sbin/squid -k rotate
# /usr/local/etc/rc.d/squid.sh start
/usr/local/etc/squid/squid.confの設定例です。
・URLやキーワードに該当するものを対象にする
acl hoge url_regex 萌え ラノベ
・該当のIPアドレスのものを対象にする
acl hoge dst 192.168.0.xxx 〜
・該当のドメインのものを対象にする
acl hoge dstdomain example.com 〜
・対象を拒否する
http_access deny hoge
・許可する/拒否するリストから制限する
acl private src 192.168.0.0/24
acl whitelist url_regex -i "/usr/local/squid/etc/whitelist.txt"
acl blacklist url_regex -i "/usr/local/squid/etc/blacklist.txt"
http_access allow whitelist
http_access deny blacklist
http_access allow private