Aller à la recherche

La bonne façon de rediriger http vers https avec nginx

Il est déconseillé que deux url d’un même site retourne des pages identiques or lorsque l’on met en place un certificat SSL le problème se pose. Nous allons voir dans ce billet comment mettre facilement les bonnes redirections pour ne répondre que par le https://www....

Rediriger toutes les requêtes vers https://www.

Nous allons ici voir la bonne méthode pour rediriger toutes les requêtes venant sur notre domaine example.com

Topo :

Maintenant que nous avons notre domaine http://example.com qui fonctionne et après avoir mis en place les certificats ssl grâce à certbot nous allons avec une et une seule redirection 301 orienter tout le trafic vers notre https://www.

  • http://example.com => https://www.example.com
  • http://www.example.com => https://www.example.com
  • https://example.com => https://www.example.com

http vers https

# Le bloc d’origine qui gère notre http://
server {

     listen          192.168.110.80:80;
     server_name     www.example.com example.com ;
 
     return 301      https://www.example.com$request_uri;
}

https:// vers https://www.

...

# Nous ajoutons un bloc server pour gérer le ssl
 server {
     listen          192.168.100.80:443 ssl;
     server_name     example.com ;

     return 301      https://www.example.com$request_uri;

}

https://www.example.com

...
# Nous ajoutons un bloc server pour gérer le ssl avec le www.
server {

     listen          192.168.100.80:443 default_server ssl;
     server_name    www.example.com
….
}

Troubleshooting

"ssl_certificate" is defined in server listening on SSL port while SSL handshaking

Vous avez sans doute oublié le defaut_server dans le bloc server.

Voilà, c'est tout pour cette fois...

La discussion continue ailleurs

URL de rétrolien : https://www.binsp.net/?trackback/39

Fil des commentaires de ce billet

Page top