Comment rediriger de non-www vers www avec nginx sur Ubuntu ?

Published: 03 octobre 2022

Tags: NGINX;

DMCA.com Protection Status

Exemple de redirection de non-www vers www avec nginx sur Ubuntu :

Rediriger vers https

Sur Ubuntu, allez à

/etc/nginx/sites-available/

et ouvrez le fichier associé à votre site Web :

vi mysite

En supposant que votre site utilise https, la première étape consiste à rediriger les URL http://mysite.com et http://www.mysite.com vers https://www.mysite.com, pour ce faire

server {
    listen 80;
    listen [::]:80;
    server_name mysite.com www.mysite.com;
    return 301 https://www.mysite.com$request_uri;
}

Notez que si vous n'utilisez pas https pour votre site Web, faites simplement

server {
    listen 80;
    listen [::]:80;
    server_name mysite.com;
    return 301 http://www.mysite.com$request_uri;
}

et arrêtez-vous ici.

Rediriger https://monsite.com vers https://www.monsite.com

L'étape suivante. rediriger https://monsite.com vers https://www.monsite.com

server {
    listen 443 ssl;
    server_name mysite.com;

    ssl_certificate /root/ssl_certificates/mysite.crt;
    ssl_certificate_key /root/ssl_certificates/mysite.com.key;

    return 301 https://www.mysite.com$request_uri;
}

Créer une "request" pour https://www.mysite.com

Dernière étape, créer une request pour https://www.mysite.com

server {
    listen 443 ssl;
    server_name www.mysite.com;

    ssl_certificate /root/ssl_certificates/mysite.crt;
    ssl_certificate_key /root/ssl_certificates/mysite.com.key;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';

    }

Fichier nginx complet

Ainsi, le fichier mysite situé sous /etc/nginx/sites-available/ devrait ressembler à :

server {
    listen 80;
    listen [::]:80;
    server_name mysite.com www.mysite.com;
    return 301 https://www.mysite.com$request_uri;
}

server {
    listen 443 ssl;
    server_name mysite.com;

    ssl_certificate /root/ssl_certificates/mysite.crt;
    ssl_certificate_key /root/ssl_certificates/mysite.com.key;

    return 301 https://www.mysite.com$request_uri;
}


server {
    listen 443 ssl;
    server_name www.mysite.com;

    ssl_certificate /root/ssl_certificates/mysite.crt;
    ssl_certificate_key /root/ssl_certificates/mysite.com.key;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';

    }

Références