docwiki.embarcadero.com のコンテンツをローカルキャッシュするために Squid for Windows を利用する場合の設定例です。
using_squid 以下に設定を配置しています。以下の設定例があります。
- リバースプロキシ (localhost:80 へのアクセスを docwiki.embarcadero.com に転送する)
- フォワードプロキシ (localhost:3128 でプロキシを動かす)
この設定ファイルは、d:\Squid に Squid for Windows をインストールする前提で作成しています。インストールパスが異なる場合は設定ファイルを調整してください。
- /etc/squid/squid.conf.accel を squid.conf にコピー0します。
- /etc/squid/hosts はそのまま使用します。(中身は空のままで差支えありません)
- squid.exe -z を実行して、squid のキャッシュディレクトリの初期化を行います。
- squid を起動し、127.0.0.1:80 でプロセスが Listen していることを確認してください。
- c:\windows\system32\drivers\etc\hosts に "127.0.0.1 docwiki.embarcadero.com " の記述を追記してください。
- /etc/squid/squid.conf.forward を squid.conf にコピー0します。
- /etc/squid/hosts はそのまま使用します。(中身は空のままで差支えありません)
- squid.exe -z を実行して、squid のキャッシュディレクトリの初期化を行います。
- squid を起動し、127.0.0.1:80 でプロセスが Listen していることを確認してください。
- proxy.pac をブラウザの自動プロキシ設定から参照するように設定します。
- ブラウザより http://docwiki.embarcadero.com/ にアクセスし、コンテンツが表示されることを確認します。
- Bash for Windows がインストール済みの場合は "tail -f /mnt/d/Squid/var/log/squid/access.log" などと実行してログをモニタリングします。同じURLに2回目にアクセスすると TCP_HIT や TCP_MEM_HIT などの表示が確認できるはずです。
Delphi の TIdHTTPProxyServer コンポーネントを用いてプロキシサーバを作り、その中でリクエストヘッダやレスポンスヘッダを加工するサンプルプロジェクトです。
フレームワークは VCL / FireMonkey の両方で作成しています。FireMonkey版は macOS 向けにもビルド可能です。