No customers had reported this bug, it was found while testing on Servebolt Linux 8, and with the help of Serve Engineering team for debugging, we found a fix.
Bug description:
For Accelerated Domains only customers on Servebolt Linux 8, if they set the cache TTL to 0 for any post type or taxonomy, it would give an Error 500 when visiting the page. It did not matter the post type or taxonomy, if the TTL was set to 0, it gave an error 500. Servebolt Linux 7 did not exhibit the same problem, continuing to work perfectly.
Bug resolution:
The Server Engineer team found that it was the http headers were malformed, specifically x-acd-ttl. The problem was that there was no value, only they key, and no delimiter on the key either. So we were getting “x-acd-ttl” where we need to have at least “x-acd-ttl:” or better “x-acd-ttl:0”. The fix put in place is to append the colon if it does not exist, so it would also work for customer added headers.
Why Servebolt Linux 8 and not Servebolt Linux 7?
SL7 (Nginx) just ignored the malformed header, where SL8 (Apache) is way more picky and expects things to absolutely conform to RFC 7230.