Pantzer

Texte à méditer :  Des chercheurs qui cherchent on en trouve, mais des chercheurs qui trouvent on en cherche.   Salvador Dali
news.gifNouvelles

Passage en HTTPS - par hpsam le 20/05/2017 @ 16:15

Hello,

Avec les navigateurs affichant sans arrêt des avertissements sur les champs mots de passe des sites HTTP, et l'arrivée de Let's Encrypt, je suis en train de faire la bascule complètement HTTPS.
 
J'avais du HTTPS sur mes admins et certains sites, mais avec de l'auto-signé. L'échange est sécurisé, mais il faut accepter le certificat, pas utilisable pour le grand publique.
 
Let's Encrypt fournit gratuitement des certificats reconnus par les navigateurs, mais avec une courte date de validité (90 jours). Donc sur un server dédié avec une cron le renouvellement est simple. Pour de l'hébergement mutualisé ou gratuit bon courage.
 
Au final le problème n'a pas été la génération des certificats. Le script certbot de l'EFF fonctionne bien. Le problème viens de ma config server (rien d'exceptionnel, mais pas celle d'un hébergement de base). J'ai un serveur Nginx qui gère le HTTPS et le statique (image, javascript...) et qui proxy le dynamique (php, cgi...) à Apache en HTTP.

Le problème c'est que beaucoup d'appli WEB comme GuppY, PiWiGo..., ne gère pas le fait d'être derrière un proxy.
  • GuppY demandant l'url du site dans la config, c'est HTTP ou HTTPS mais pas les 2.
  • PiWiGo gère beaucoup de liens en relatif, mais pour les liens absolus, il se croit en HTTP.
Niveau NGinx, pour que le maximum d'appli fonctionnent, j'ai du mettre dans la "location" :
    proxy_pass http://127.0.0.1:8080;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-Port $server_port;


Car certaines applications testent le protocole transmis par le proxy et d'autre le port (donc https sur autre que 443 c'est mort).

Pour faire fonctionner correctement PiWiGo et éviter les url HTTP renvoyées par l'API et certains plugins, j'ai du ajouter dans le fichier de config :
// |                                 HTTPS behind proxy in HTTP
// +-----------------------------------------------------------------------+
if(isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https'){
  $_SERVER['HTTPS'] = 'on';
  $_SERVER['SERVER_PORT'] = $_SERVER['HTTP_X_FORWARDED_PORT']; //443;
}


Pour faire fonctionner correctement Webtrees et éviter les redirection 301 en boucle, j'ai du ajouter dans le fichier de includes/session.php :
//                                 HTTPS behind proxy in HTTP
if(isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https'){
  $_SERVER['HTTPS'] = 'on';
  $_SERVER['SERVER_PORT'] = $_SERVER['HTTP_X_FORWARDED_PORT']; //443;
}

Améliorez votre référencement en créant une sitemap pour votre GuppY.

[RSS 2.0]






 
Liste des membres Membres : 259

Votre pseudo :

Mot de passe :

[ Mot de passe perdu ? ]


[ Devenir membre ]


  Membre en ligne :
  Anonymes en ligne : 211

Total visites Total visites: 1436243  

Record connectés :
Record connectés :Cumulé : 384

Le 03/08/2010 @ 11:53


Webmaster - Infos

mad AUCUN support par mail.
Utilisez le forum
biggrin pour signaler des bugs ou pour poser des questions.

^ Haut ^