上流サーバーにアクセスできない場合でも、Squid キャッシュから HTTPS 応答を提供する

上流サーバーにアクセスできない場合でも、Squid キャッシュから HTTPS 応答を提供する

ssl_bump私は次のように、中間者 HTTPS 接続が可能で応答をキャッシュできるようにSquid を設定しました。

http_port 3128 ssl-bump \
  cert=/etc/squid/certs/squid-ca-cert-and-key.pem \
  generate-host-certificates=on dynamic_cert_mem_cache_size=16MB

acl step1 at_step SslBump1
ssl_bump peek step1
ssl_bump bump all

Squidにクライアントの接続を受け入れて、キャッシュから応答を返すようにしたい。前にアップストリーム サーバーに接続しようとしています。

ただし、最初にサーバーに接続しようとし、サーバーに到達できない場合は (ネットワークがオフラインなど) 503 エラーを返します。

1635102093.658     13 172.17.0.1 NONE/200 0 CONNECT deb.nodesource.com:443 - HIER_NONE/- -
1635102093.673      0 172.17.0.1 NONE/503 4110 GET https://deb.nodesource.com/setup_12.x - HIER_NONE/- text/html

ネットワークが利用可能で、上流ホストに到達可能な場合、Squid はメモリ内キャッシュから問題なくサービスを提供します。

1635102172.772    101 172.17.0.1 NONE/200 0 CONNECT deb.nodesource.com:443 - HIER_DIRECT/18.2.197.72 -
1635102172.792      1 172.17.0.1 TCP_MEM_HIT/200 14319 GET https://deb.nodesource.com/setup_12.x - HIER_NONE/- text/plain

答え1

使用するclient-firstと動作するようです:

acl step1 at_step SslBump1
ssl_bump client-first step1
ssl_bump bump all

ただし、これは長い間非推奨のオプションであり、あらゆる種類の TLS 接続を介入させることはできません。

関連情報