当社には Web ベースの CCTV システムがあります。各カメラは効果的に Web サーバーのように機能し、URL を参照してカメラの画像を表示するだけです。
各カメラの画像を 1 ページに「集約」する単純な HTML ページを作成しました。JavaScript を使用して、数秒ごとに各画像 URL にランダムなクエリ文字列値を追加し、画像を強制的に更新します。URL は次のようになります。
http://192.168.50.100/camera1/current.jpg?rand=324923
この HTML ページを内部ネットワークから表示すると、すべて正常に動作します。
現在、管理者がオフサイトで CCTV を表示できるように、DMZ にページの「外部」バージョンも作成しました。HTML は、次のような画像 URL を除いて、「内部」ページと同じです。
http://foo.com:1234/camera1/current.jpg?rand=...
各カメラには異なるポート番号があるため、IT 担当者が何らかのポート転送を使用していると想定しています。このページを表示すると、カメラの画像が最初に表示されますが、更新されません。場合によっては、数秒または数分前にキャプチャされた画像が表示されます。Chrome の F12 機能を使用すると、画像の URL で乱数が変化するのがわかるので、JavaScript が機能していることがわかります。
この外部ページが更新されない理由はありますか? 何かがキャッシュされた画像を提供しているようで、変更されたクエリ文字列を無視しています (その要点は、キャッシュされていないバージョンを要求することです)。