This is a prerequisite to potentially improving and redesigning the various error pages we have. (T76560)
To limit the scope a little bit, this task only covers layers between MediaWiki core and the edge of our cluster. While most of this will affect non-wiki sites as well. This is meant to cut out error pages that only effect non-wiki sites (e.g. not integration.wikimedia.org, Gerrit, Phabricator, labs, etc.)
* Find out all error scenarios between MediaWiki core and the edge of our cluster (Varnish front/back, Nginx/Apache, HHVM 404, PHP fatal, etc.).
* Make them look consistent.
* Have them be (as much possible) centrally maintained, e.g. produced by a puppet template.
Current status
| Type | Description | Example | Source | New image | Old image
| --- | --- | --- | --- | --- | ---
| Unconfigured domain (Apache) | Unknown domains pointing to wiki app servers. | http://unknown.beta.wmflabs.org | [mediawiki-config:/errorpages/default.html](https://github.com/wikimedia/operations-mediawiki-config/blob/master/errorpages/default.html) | {F2396862} | {F2617863}
| Varnish Error | Server error on any domain caught by Varnish. | | [puppet:/templates/varnish/errorpage.inc.vcl.erb](https://github.com/wikimedia/operations-puppet/blob/production/templates/varnish/errorpage.inc.vcl.erb) | {F2396867} | {F2617878}
| Unconfigured domain (Varnish) | Unknown domains not pointing to apaches. This is the same as "Default Error", uses message "404 Domain not served". See also T112316. | https://misc-web-lb.wikimedia.org/ | [puppet:/templates/varnish/errorpage.inc.vcl.erb](https://github.com/wikimedia/operations-puppet/blob/production/templates/varnish/errorpage.inc.vcl.erb) | {F2617883} | ...
| Domain index | The root page of domains not meant to be user-facing. | https://upload.wikimedia.org | (upload: stored in Swift) | (removed, redirects to Wikimedia Commons) T130709 | {F2617890}
| Domain index | | https://bits.wikimedia.org | [mediawiki-config:/docroot/bits/index.html](https://github.com/wikimedia/operations-mediawiki-config/blob/master/docroot/bits/index.html) | (removed) | {F2617897}
| Apache 404 (Default) | 404 on domains managed in mediawiki-config/docroot. | https://secure.wikimedia.org/not-exist https://bits.wikimedia.org/404.html | [mediawiki-config:/errorpages/404.html](https://github.com/wikimedia/operations-mediawiki-config/blob/master/errorpages/404.html) [puppet:/templates/apache/apache2.conf](https://github.com/wikimedia/operations-puppet/blob/141ad33c691a208f4b5ed326a312cf625945b04b/modules/mediawiki/templates/apache/apache2.conf.erb#L77) | {F2396846} | {F2617866}
| Apache 404 (wiki domain) | 404 on domains managed in mediawiki-config/docroot that directly serve MediaWiki (e.g. not related domains that are also served from mediawiki servers, such as www.wikipedia.org). See also T110376. | https://en.wikipedia.org/Example | [mediawiki-config:/errorpages/404.php](https://github.com/wikimedia/operations-mediawiki-config/blob/master/errorpages/404.php) | {F6802296} | {F6802363}
| HHVM 404 | 404 on servers that use HHVM (only wiki domains afaik) that match a url pattern that Nginx defers to HHM | https://en.m.wikipedia.org/foo.php | (unknown) | .. | {F2618003}
| Swift 404 | 404 on upload.wikimedia.org | https://upload.wikimedia.org/foo | Swift | .. | {F4222081}
| Apache 503 (wiki domain) | 503 on domains managed in mediawiki-config/docroot | https://en.wikipedia.org/503.html | [mediawiki-config:/errorpages/503.html](https://github.com/wikimedia/operations-mediawiki-config/blob/master/errorpages/503.html) [puppet:/templates/apache/apache2.conf](https://github.com/wikimedia/operations-puppet/blob/141ad33c691a208f4b5ed326a312cf625945b04b/modules/mediawiki/templates/apache/apache2.conf.erb#L76) | .. | {F2618019}
See also:
* {T76560}
* {T110376}
* {T112316}