업스트림 서버에 연결할 수 없는 경우에도 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 연결을 방해하는 데는 작동하지 않습니다.

관련 정보