大学時代に構築したプロキシサーバーでファイルキャッシュ化構築したので紹介したいと思います。
プロキシってなんぞ?
• プロキシ(串→隠語)→「代理」
• 自分に変わってサイトにアクセスする
• 内部と外部のネットワークをつなぐ
→セキュリティアップ
• キャッシュ機能を高める
→速く表示ができる
■方法
1 2 | <span style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;">Squid→のみインストール</span> <span style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;">sudo apt-get install squid3</span> |
squid.confの編集をする
1 | <span style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;">vim /etc/squid3/squid.conf</span> |
1 2 3 4 5 6 7 8 9 10 11 12 13 | <span style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;">http_port 8080 #ポートを指定</span> <span style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;">acl localnet src IP/24 #アクセス許可の設定する。</span> <span style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;">http_access allow localnet #localnetのアクセスを許可する設定</span> <span style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;">http_access deny all</span> <span style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;">cache_mem 128 MB #キャッシュを指定する。</span> <span style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;">forwarded_for off #プロキシサーバを使っている端末のIPを隠蔽する。</span> <span style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;">maximum_object_size 500000KB #オブジェクトの最大サイズを5GB</span> <span style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;">request_header_access X-Forwarded-For deny all #Proxy Serverからアクセスを隠す</span> <span style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;">request_header_access Via deny all</span> <span style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;">request_header_access Cache-Control deny</span> <span style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;">all reply_header_access X-Forwarded-For</span> <span style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;">deny all reply_header_access Via deny all</span> <span style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;">reply_header_access Cache-Control deny all</span> |
1 | <span style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;">sudo /etc/init.d/squid3 restart #再起動</span> |
■キャッシュ設定/HDDフォーマット
1 | sudo mkfs ext4 /dev/sdb1 #フォーマット |
1 | <span style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;">sudo mkdir /mnt2/cache #自動マウント/フォルダ作成</span> |
1 2 3 4 5 6 | <span style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;">sudo vim /etc/fstab</span> <span style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;">/etc/sdb1 /dev/sdb1/mnt2 ext4 defaults 0 0 #mnt2というディレクトリつくった </span> <span style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;">sudo reboot 再起動</span> <span style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;">ls /mnt2→LOST+found #マウントされている </span> |
■Squid3編集
キャッシュするディレクトリ変更
1 | vim /etc/squid3/squid.conf |
cache_dir ufs /mnt2/cache 100000 16 256 #100000MB→1TB使用
↑16個のサブディレクトリの下に256個のサブディレクトリを作る
1 2 3 | <span style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;">再起動</span> <span style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;">アクセス権を変更しなければならない</span> <span style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;">cache_effective_user proxy #アクセス権確認</span> |
1 2 3 | <span style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;">sudo chown –R proxy/mnt2 #R proxyという名前作られる</span> <span style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;">ls –l/ 変更できてるか確認</span> <span style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px;">再起動</span> |
まとめ
- アクセスの中継点になる
- セキュリティの向上
- 一度目よりも二度目のほうがアクセス高速になる
0件のコメント