1 votes

Nginx : rediriger le site web par défaut http vers https

J'ai un site web qui pourrait avoir un nombre inconnu d'enregistrements DNS CNAME liés à lui. Ce dont j'ai besoin, c'est que TOUTES les requêtes http soient redirigées vers https. Nous utiliserons un certificat par défaut. Peu importe l'adresse IP ou le nom DNS tapé dans le navigateur, toutes les requêtes doivent être redirigées vers https.

server {
    listen       80 default_server;
    listen       [::]:80 default_server;
    server_name  _;
    return         301 https://$host$request_uri;

J'ai essayé $server_name aussi bien.. Si je vais sur http://, je suis redirigé vers " https://_ ". Existe-t-il un équivalent à RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} dans Apache ?

2voto

Shirker Points 569

Il semble que nginx ait l'équivalent de HTTP_HOST dans Apache. Cela fonctionne donc pour moi :

return         301 https://$http_host$request_uri;

0voto

Jeremy Leipzig Points 620

La façon correcte de faire une redirection Nginx est avec HTTP 301, pas une réécriture. Voir ici .

En ce qui concerne la configuration de votre serveur, voyez la mienne ci-dessous. Je définis le nom du serveur sur le port 80, puis je redirige vers HTTPS sur le port 443. Tout (paramètres SSL, racine, index, etc...) est appliqué sous ce bloc de serveur HTTPS.

server {
        listen 80 default_server;                       #Listen on IPv4
        listen [::]:80;                                 #Listen on IPv6
        server_name loganmarchione.com;
        return 301 https://$host$request_uri;           #Redirect HTTP to HTTPS
}

server {
        listen 443 ssl spdy;                            #Listen on IPv4
        listen [::]:443 ssl spdy;                       #Listen on IPv6

        ssl_certificate /etc/nginx/ssl/unified2.crt;
        ssl_certificate_key /etc/nginx/ssl/my-private-decrypted.key;

        ...

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X