
職場で使っているWEBシステムで特定のページだけを閲覧できないようにプロキシサーバーのSquidを使って設定する記録です。
プロキシサーバーのSquidをインストールしているのはWindows10、クライアントPCもWindows10で、ローカルなネットワークでテストしています。
SquidをWindows10にインストールする方法はこちら↓
職場でPHPでWEBシステムを構築し仕事をしています。 私が構築したものだけではなく、他の人が作ったものもありますが、最近、その他の人が作ったもので権限管理ができていないページがあることが判明! その作った人はもう退職し …
< スポンサーリンク >
プロキシサーバーの設定
画面右下のインジケーターのSquidをクリックします。

[Open Squid Configuration]をクリックします。

squid.confというファイルが表示されます。このファイルに色々な設定を書き込みます。

今回、閲覧させたくないページが数ページあるだけで、他のページやWEBシステムは制限をかけたくないので、
http_port 3128
coredump_dir /var/cache/squid
max_filedescriptors 3200
の行以外は先頭に「#」をつけてコメントアウトします。
※coredump_dir、max_filedescriptorsの意味がちょっとわからない。

テスト用のWEBサイトを作りました。
構成はWEBサーバーのIPが「192.168.99.85」
http://192.168.99.85/test_site/index1.html
http://192.168.99.85/test_site/index2.html
http://192.168.99.85/test_site/index3.html
http://192.168.99.85/test_site/index4.html
の4ページです。
ブロックしたいページは「index2.html」と「index3.html」とします。
新たにメモ帳を起動し
^http://192.168.99.85/test_site/index2.html
^http://192.168.99.85/test_site/index3.html
と書き込みます。

[ファイル]>[名前を付けて保存]をクリックします。

「C:\Squid\etc\squid」フォルダの中に任意の名前をつけて保存します。※「blackurl.txt」にしました。

先ほど開いたsquid.confというファイルの一番上の行に
acl blacklist_regex url_regex “/etc/squid/blackurl.txt”
http_access deny blacklist_regex
http_access allow all
と書き込みます。

上書き保存します。

Squidの再起動
画面右下のインジケーターのSquidをクリックします。

[Stop Squid Service]をクリックしSquidを停止します。

[Start Squid Service]をクリックしSquidを開始します。

クライアントの設定
[コントロールパネル]>[インターネットオプション]を開きます。

[接続]タブの[LANの設定]をクリックします。

プロキシサーバーの欄の「LANにプロキシサーバーを使用する」にチェックを入れ、SquidをインストールしているPCのIPを入力し、ポートはsquid.confに設定してあるポート番号(3128)を入力し、[OK]をクリックします。

ブラウザを開いていた場合は、再起動し、アクセスしてみます。
index1.htmlはOK。

index2.htmlはエラー。

index3.htmlはエラー。

index2.htmlはOK。

これで、とりあえずOKです。
プロキシサーバーが停止している場合は、下図のような画面になります。

こんな記事も書いています

