WordPress et Nginx

Plop,

Suite à la mise en service d’un  conteneur wordpress derrière nginx le site s’affiche sans CSS.

Le problème est connu et est du à une configuration particulière qui délègue la gestion du SSL au proxy plutôt qu’à wordpress lui-même.
WordPress doit savoir que c’est le cas (sinon, il supposera que l’accès est en http non chiffré et rendra tous les liens vers des références non chiffrés).

Apres quelques recherche j’ai trouvé la solution qui consiste à ajouter quelques lignes de conf dans nginx et wordpress.


Pour nginx dans le bloc serveur :

location /blog/ {
  proxy_pass http://backend:8081/;
  proxy_set_header X-Forwarded-Host $host;
  proxy_set_header X-Forwarded-Proto $scheme;
}

Pour wordpress dans le fichier wp-config.php (généralement créé après l’installation, vous devrez donc faire l’installation sans style) :

/**
 * Handle SSL reverse proxy
 */
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
    $_SERVER['HTTPS']='on';

if (isset($_SERVER['HTTP_X_FORWARDED_HOST'])) {
    $_SERVER['HTTP_HOST'] = $_SERVER['HTTP_X_FORWARDED_HOST'];
}

Ne pas oublier de relancer nginx et de vider son cache navigateur, et tout devrait être rentré dans l’ordre.


source : stackoverflow

Taggé , , , , , .Mettre en favori le Permaliens.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.