Squid 配置指令 server_pconn_for_nonretriable
可用版本:
此指令在 Squid 的 v8 版本中不可用。
对于 v5 之前的旧版本,请参阅以上链接页面。
配置详情
| 选项名称 | server_pconn_for_nonretriable |
|---|---|
| 替代 | |
| 要求 | |
| 默认值 | 为 Squid 无法安全重试的转发请求打开新连接。 |
| 建议配置 |
|
This option provides fine-grained control over persistent connection reuse when forwarding HTTP requests that Squid cannot retry. It is useful in environments where opening new connections is very expensive (e.g., all connections are secured with TLS with complex client and server certificate validation) and race conditions associated with persistent connections are very rare and/or only cause minor problems. HTTP prohibits retrying unsafe and non-idempotent requests (e.g., POST). Squid limitations also prohibit retrying all requests with bodies (e.g., PUT). By default, when forwarding such "risky" requests, Squid opens a new connection to the server or cache_peer, even if there is an idle persistent connection available. When Squid is configured to risk sending a non-retriable request on a previously used persistent connection, and the server closes the connection before seeing that risky request, the user gets an error response from Squid. In most cases, that error response will be HTTP 502 (Bad Gateway) with ERR_ZERO_SIZE_OBJECT or ERR_WRITE_ERROR (peer connection reset) error detail. If an allow rule matches, Squid reuses an available idle persistent connection (if any) for the request that Squid cannot retry. If a deny rule matches, then Squid opens a new connection for the request that Squid cannot retry. This option does not affect requests that Squid can retry. They will reuse idle persistent connections (if any). This clause only supports fast acl types. See https://wiki.squid.org.cn/SquidFaq/SquidAcl for details. Example: acl SpeedIsWorthTheRisk method POST server_pconn_for_nonretriable allow SpeedIsWorthTheRisk |
|
