Le site Web ne redirige pas vers https (partie 2)

Bonjour, c’est encore moi ^^ .

J’ai un léger problème que je pense avoir déjà rencontré, mais cela pourrait être autre chose cette fois.

Le problème est le suivant :

  • Si vous ouvrez cp2077.eu dans un navigateur, la page indique qu’elle est « en maintenance », ce qui est bien sûr un modèle de ma création et n’est pas sécurisé.
  • Mais si vous ouvrez https://cp2077.eu, le forum Discourse apparaît et le site semble sécurisé avec SSL.

Je suppose que mon fichier nginx ne prend pas en compte la redirection vers https. Voici mon fichier ; je l’ai vérifié mais je ne sais pas où se trouve le problème. Il semble correct (je pense qu’il l’est), mais peut-être que quelqu’un de plus compétent pourra m’aider à résoudre ce souci ? Je vous serais reconnaissant :

server {

    listen 80;
    listen [::]:80;
    server_name www.cp2077.eu;
    return 301 https://cp2077.eu$request_uri;
}

server {

    listen 443 ssl;
    listen [::]:443 ssl;
    server_name www.cp2077.eu;
    ssl_certificate /etc/letsencrypt/live/cp2077.eu/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/cp2077.eu/privkey.pem;
    return 301 https://cp2077.eu$request_uri;
}

server {

    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name cp2077.eu;

    ssl on;
    ssl_certificate /etc/letsencrypt/live/cp2077.eu/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/cp2077.eu/privkey.pem;



    http2_idle_timeout 5m; # augmenté par rapport au défaut de 3m

    location / {
        proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock;
        proxy_set_header Host $http_host;
        proxy_http_version 1.1;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
        proxy_set_header X-Real-IP $remote_addr;

    }

}

Avez-vous une idée de ce que je pourrais modifier ici pour résoudre ce problème ?

Vous autorisez uniquement ẁww..

Comment puis-je rediriger www et cp2077.eu vers https ?

Essayez d’ajouter le domaine.

server_name cp2077.eu www.cp2077.eu;

J’ai essayé avant de poster, mais la commande suivante génère l’erreur suivante lors de l’exécution : nginx -t

nginx: [warn] conflit de nom de serveur "cp2077.eu" sur 0.0.0.0:443, ignoré
nginx: [warn] conflit de nom de serveur "cp2077.eu" sur [::]:443, ignoré

L’avez-vous ajouté uniquement dans le premier server {} (port 80) ?

Je l’ai ajouté sur les ports 80 et 443.

—Edit.

Je viens de le mettre uniquement sur le port 80 et cela semble fonctionner. Cependant, il indique maintenant que la connexion n’est pas sécurisée (certains éléments de cette page, comme les images, ne sont pas sécurisés).

Vous devez activer force https dans les paramètres de Discourse.

Je vais essayer ça. Merci beaucoup, Arkshine