【Linux】圧縮キャッシュサーバを構築する

はいこんにちは。今回は、圧縮キャッシュサーバの構築を目指してみます。(備忘録的なアレなので雑いです)

圧縮キャッシュサーバと一口に言っても、具体的にはPC→キャッシュサーバ→圧縮サーバ→広告フィルタ(Optional)→Internetという構成で構築を行います。

環境

この記事執筆時点での環境は以下のとおりです。

  • Ubuntu 18.04 LTS
  • Squid(キャッシュサーバ)
  • Ziproxy(圧縮サーバ)
  • Privoxy(広告フィルタ)

インストール

おなじみのaptを使用して入れていきます。1秒あれば終わります。(インストール時間除く)

# apt install squid ziproxy privoxy

設定

各種サーバの設定をしていきます.Privoxyに関してはとりあえずデフォルトの設定を使用します.

Squid

Squidの設定ファイルです.localnetは使用してる環境に合わせて適宜変更してください.

# ACLに関する設定
acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1
acl to_localhost dst 127.0.0.1
acl localnet src 10.0.0.0/16 # アクセスを許可するIP
acl Safe_ports port 80		# アクセスを許可するポート
acl Safe_ports port 8080
acl SSL_ports port 443		# https
acl purge method PURGE
acl CONNECT method CONNECT

# アクセス制限
http_access allow manager localhost
http_access deny manager

http_access allow purge localhost
http_access deny purge

http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

http_access allow localnet
http_access allow localhost
http_access deny all

#icp_access allow localnet
#icp_access deny all

# 受付ポート
http_port 3128

# 上位プロキシサーバ(今回はziproxy)
cache_peer localhost parent 12798 7 no-query
never_direct allow all

# 表示用ホスト名
visible_hostname milkcocoa.info

# forwarded_for、viaヘッダを送信しない
forwarded_for off
via off

# キャッシュに使用するメモリ量
cache_mem 256 MB

# ローカルディスクに保存設定
# cache_dir ufs パス サイズ(MB) ディレクトリ数 ←の中につくるサブディレクトリ数
cache_dir ufs /var/spool/squid 512 16 256

# キャッシュ設定※1
refresh_pattern -i (jpg|jpeg|png|gif|css|js)            1440     100%     10000 override-expire
refresh_pattern -i (html|htm)   1440	100%	10000 override-expire
refresh_pattern .               0     0%     0

# その他細々設定
acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9]
acl apache rep_header Server ^Apache
hosts_file /etc/hosts
coredump_dir /var/spool/squid
access_log /var/log/squid/access.log squid

Ziproxy

基本的にはデフォルトの設定をそのまま使用しますが、以下の部分を変えます。

Port = 12798
NextProxy = "127.0.0.1"
NextPort = 8118

起動

各サーバをスタートします。

# systemctl start squid -z
# systemctl start ziproxy
# systemctl start privoxy

ネットワーク設定

ネットワーク設定のProxyのところに設定してあげます.

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です