時間ベースのPACルールがプロキシを選ぶとき
PACの時間ルールは、ルーティングの評価時にプロキシを選びます。既存の接続を正確な秒に新しい出口へ移すことを約束するものではありません。
朝に一つのプロキシ、後で別のプロキシを返すPACルールは書けます。しかし、そのルールから、既存のすべてのブラウザー接続が正午に出口を切り替えると推論することはできません。
timeRange() のような関数はルーティングの判断に関与します。トンネルを閉じたり、ソケットを移行したり、プロキシ事業者にパブリックIPのローテーションを要求したりするバックグラウンドのスケジューラーではありません。
三つの出来事を分けて考えてください。
- ブラウザーがPACを評価し、ルートを取得する。
- クライアントが自身のネットワーク規則に従って接続を確立または再利用する。
- 選択されたサービスが、その先の接続に使うパブリックアドレスを選ぶ。
時間条件が直接関係するのは最初の出来事です。すでに進行中のダウンロードや長時間接続は別の問題です。クライアント側のキャッシュと接続の再利用もあり、「スクリプトに時計の確認がある」ことは正確な切り替えスケジュールの十分な証拠にはなりません。
セッション、リクエスト、時間枠ごとに新しい出口が必要なタスクでは、その要件のために設計されたインターフェースを使い、文書化された動作を確認してください。PACはエンドポイント間を選べますが、それらのエンドポイントが自分の出口アドレスで 何をするか を定義しません。
時間ベースのルーティングは、意図的なネットワークポリシーには依然として役立ちます。評価時点でルートを選ぶものとして説明し、保証されたIPローテーションの仕組みとして扱わないでください。