Configurer Wordpress pour le https
En supposant qu'on ait déjà créé son autorité de certification ,
On suppose que les étapes pour les 3 sites ( multisite.test, www.formater.test et en.formater.test) sont déjà réalisées:
la procédure de certification d'un site
On retrouvera alors dans le dossier /srv/ssl les 3 dossiers
/srv/ssl/multisite.test/srv/ssl/www.formater.test/srv/ssl/en.formater.test
puis créer les 3 virtualhosts dans Apache avec leur certificat respectif
On aura alors dans le dossier /etc/apache2/sites-available (ainsi que les liens correspondants dans le dossier /etc/apache2/sites-enabled)
multisite.test-ssl.confen.formater.test-ssl.conf
Dans wordpress
le .htaccess
pour que les requêtes http soit renvoyer vers du https
Dans la partie réécriture d'url, on ajoute la condition et la règle suivante
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
Autoriser le cross-domain pour les css et scripts
Mais aussi pour autoriser les iFrame d'url https://multisite.test, on ajoute le bloc suivant:
<IfModule mod_headers.c>
# AUTORISER LE CROSS DOMAIN SUR multisite.test pour le chargement des scripts + css
Header set Access-Control-Allow-Origin https://multisite.test
# Autoriser le customizer wordpress à afficher un autre domaine
Header set X-Frame-Options "ALLOW-FROM https://multisite.test/"
</IfModule>
Auroriser cross origine pour mes domaines et certains types de fichiers
<FilesMatch "\.(eot|ttf|otf|woff|woff2|pdf)$">
<IfModule mod_headers.c>
# Header set Access-Control-Allow-Origin "*"
SetEnvIf Origin "http(s)?:\/\/(.+\.)?(formater.test|multisite.test)$" AccessControlAllowOrigin=$0
Header set Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin
Header set Access-Control-Allow-Methods "GET"
Header set Access-Control-Allow-Credentials "false"
</IfModule>
</FilesMatch>
La base de donnée
Il faut aussi modifier les url des sites dans la base de donnée pour les passer en https.
Dans les tables wp_options, wp_2_options et wp_3_options, il faut passer pour les enregistrements d'option_name ayant pour valeur siteurl et home, l'option_value de http à https.
Et surtout dans la table wp_sitemeta il faut modifier l'enregistrement de meta_key égale à siteurl pour passer la meta_value à https://multisite.test