Mediawiki Scary Transclusion and SSL Self Signed Certificate



Mediawiki 1.26, Ubuntu 16.04.1.

Scary transclusion ($wgEnableScaryTranscluding) stopped working when we moved Wikis to HTTPS only. Were getting error scarytranscludefailed ("[Template fetch failed for $1]").

Turned out being that we are using self signed certificates.

Had to dive into includes/parser/Parser.php, function fetchScaryTemplateMaybeFromCache, and var_dump($status) after line 4125 to understand what was going on:

object(Status)#405 (6) {
 ["sv":protected]=>
 object(StatusValue)#403 (6) {
   ["ok":protected]=>
   bool(false)
   ["errors":protected]=>
   array(1) {
     [0]=>
     array(3) {
       ["type"]=>
       string(5) "error"
       ["message"]=>
       string(15) "http-curl-error"
       ["params"]=>
       array(1) {
         [0]=>
         string(113) "error setting certificate verify locations:
 CAfile: /etc/ssl/certs/ca-certificates.crt
 CApath: /etc/ssl/certs"
       }
     }
   }

After importing the certificate into /etc/ssl/certs/ca-certificates.crt it began working again.

openssl s_client -showcerts -connect domain:443 </dev/null 2>/dev/null|openssl x509 -outform PEM >mycertfile.pem
sudo su
cat mycertfile.pem >>/etc/ssl/certs/ca-certificates.crt

Remember to set $wgTranscludeCacheExpiry = 0 during tests, or the cache will drive you mad.

(Comment added to $wgEnableScaryTranscluding discussion page).

Comments

Popular posts from this blog

Ubuntu 17.10 - CIFS Mount Error Code -5

Integrating Drupal 8 Webforms Submissions and Rocket Chat

Instalação eToken Pro no Ubuntu 18.04 para acesso ao eCAC da RFB