職場で使っている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です。
プロキシサーバーが停止している場合は、下図のような画面になります。
こんな記事も書いています