There is ATS built-in background fill feature that is to continue fetching documents from origins even after client connections are aborted. The name is confusing but this is different from background_fetch plugin.
The background fill feature is enabled by default (proxy.config.http.background_fill_active_timeout=0, and proxy.config.http.background_fill_completed_threshold=0), and it works fine if the client connection is cleartext HTTP, but I found that it does not work if the client connection is HTTPS (TLS + TCP).
I checked the behavior like below:
- Run ATS (port 8080)
- Run origin server (
$ cat | nc -l 8888)
- Send a request (
$ curl -v http://127.0.0.1:8080/)
- Close the client connection (
Ctrl+C on the curl command)
- Send a response (Type a response on the cat command)
- Shutdown the origin server (
Ctrl+D on the cat command)
- Send another request (
$ curl -v http://127.0.0.1:8080/)
Same steps on HTTPS doesn't return the response from cache.
There is ATS built-in background fill feature that is to continue fetching documents from origins even after client connections are aborted. The name is confusing but this is different from background_fetch plugin.
The background fill feature is enabled by default (
proxy.config.http.background_fill_active_timeout=0, andproxy.config.http.background_fill_completed_threshold=0), and it works fine if the client connection is cleartext HTTP, but I found that it does not work if the client connection is HTTPS (TLS + TCP).I checked the behavior like below:
$ cat | nc -l 8888)$ curl -v http://127.0.0.1:8080/)Ctrl+Con the curl command)Ctrl+Don the cat command)$ curl -v http://127.0.0.1:8080/)Same steps on HTTPS doesn't return the response from cache.