Proxyサーバ squidで、広告ブロックを行う方法が次のサイトで紹介されていました。
Squid で広告避け(Computer Memorandum)
Squid で hostsファイルを利用して広告ブロックする方式です。
原理的に、通信が暗号化される https のサイトでも、広告ブロックできます。
hostsファイルは、IPアドレスとドメイン名のペアのリストで、DNSより先に参照されます。
先のサイトでは、ブロックしたい広告ドメインに対して、IPアドレスに 0.0.0.0 を指定したhostsファイルを使用しています。
0.0.0.0 だと外部に参照しにいかないので、結果的に広告ドメインにもアクセスできず、ブロックされる、という仕組みです。
以下、設定方法です。
なお、Squid は既に動作していることが前提です。設定については、下記で説明しています。CemtOS6/7 用です。
proxyサーバ squidでアクセス時に認証を要求する設定
まず、Squid で広告避け(Computer Memorandum) のサイトの、「以下のスクリプトで適当に生成」の下にあるスクリプトを make_adaway_hosts.sh で作成します。
sh make_adaway_hosts.sh 実行で adaway_hosts.txt が出来るので、/etc/squid/adaway_hosts.txt にコピーします。
squid.conf の先頭に次の行を追加します。
/etc/squid/squid.conf
hosts_file /etc/squid/adaway_hosts.txt
後は、Squid を再起動すればOKです。
CentOS6 /etc/init.d/squid restart CentOS7 systemctl restart squid
Squid の他のプロキシとして、Privoxy の場合の広告ブロックは次の記事に説明があります。
サーバでAdblockのフィルタを使用する広告ブロックプロキシを動かす
以上、Squid で広告ブロックする方法でした。
コメント