Bug #104828
openconfig.contentObjectExceptionHandler sends 200 HTTP Status and regular cache headers
0%
Description
If using TYPO3 in Frontend with config.contentObjectExceptionHandler=0 and a CDN in front, then TYPO3 just shows the page with an error message and the error code, and thus, replaces the plugin rendering, but it sends a HTTP Response with status code 200, and the configured headers.
If you use a CDN, and use manual cache purge / flush logic, it might happen that a page (let's say with a career job offering listing) with this error is cached in the CDN for multiple hours or even days, because of a broken state when the cache was empty the last time.
Instead, a 50x response should be sent if ContentObjectRenderer catches any exception, to ensure that TYPO3 Frontend never sends such information as cached response.
Updated by Benni Mack about 2 months ago
- Subject changed from config.contentObjectExceptionHandler sends 200 to config.contentObjectExceptionHandler sends 200 HTTP Status and regular cache headers
Updated by Garvin Hicking about 2 months ago
- Related to Feature #104321: Provide method to handle argument mapping exceptions in ActionController added
Updated by Garvin Hicking about 2 months ago
Check related #104321 - possibly the PropagateResponseException needs a $code in the constructor calls, where a 5xx occurs, available through the ImmediateResponseException.
Updated by Benni Mack about 2 months ago
Garvin Hicking wrote in #note-3:
Check related #104321 - possibly the PropagateResponseException needs a $code in the constructor calls, where a 5xx occurs, available through the ImmediateResponseException.
Yes, but I'm talking about another issue - namely that the \Throwable is caught in ContentObjectRenderer where just a string is returned from the contentObjectExceptionHandler = 0.