Website leitet nicht auf HTTPS weiter

Hallo,

wenn ich beispielsweise „thenameofmywebsite.com" im Browser eingebe, wird nicht automatisch auf das sichere SSL-Protokoll (HTTPS) umgeleitet.

Wo kann ich dies für Discourse ändern? Vielen Dank.

Discord ist ein anderes Produkt. Ich nehme an, du meinst Discourse.

Wie hast du SSL konfiguriert? Wie wurde diese Instanz installiert?

Wenn du dem Standard-Leitfaden gefolgt bist, funktioniert die HTTPS-Umleitung standardmäßig. Das deutet darauf hin, dass du entweder über eine andere Methode installiert hast oder die Konfiguration nach der Installation geändert hast.

Entschuldigung, Tippfehler.

Hier ist meine discourse.conf

server {

    if ($host = wolcengame.net) {
        return 301 https://$host$request_uri;
    } # verwaltet von Certbot

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

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name wolcengame.net www.wolcengame.net;

Es gibt also einen Unterschied zwischen https://wolcengame.net und www.wolcengame.net. Der erste Link funktioniert und lädt die Seite, aber wenn man auf den zweiten klickt, wird er zu https://www.wolcengame.net, und es erscheint ein dunkler Bildschirm – nichts lädt.

Ich habe keine Ahnung, was falsch ist und wie man es beheben kann.

Entferne diesen Teil und starte Nginx neu, dann sollte es problemlos funktionieren.

Ich glaube nicht, dass sich etwas geändert hat. Das Problem besteht weiterhin. Hast du noch eine andere Idee?

Diese Konfiguration kann auf viele Arten geändert werden.

  1. Lege nur die HTTPS-Weiterleitung auf die gewünschte Domain fest
  2. Richte eine Weiterleitung von non-www zu www (oder umgekehrt) ein
  3. Stelle sicher, dass der korrekte Discourse-Hostname in der YAML-Datei angegeben ist

Hallo Bhanu,

  1. HTTPS ist für meine Domain eingerichtet (wie Sie bereits an den bereitgestellten Links zu meiner Website bemerkt haben).
  2. Die Umleitung von www auf non-www ist eingerichtet, wie Sie ebenfalls anhand des von mir bereitgestellten Codes festgestellt haben.
  3. Der Discourse-Hostname in der YAML-Datei ist korrekt, was Sie daran erkennen können, dass meine Website online und funktionsfähig ist.

DISCOURSE_HOSTNAME: wolcengame.net

Ich habe eine weitere Website mit derselben Konfiguration wie meine discourse.conf, und dort tritt ein ähnliches Problem nicht auf.

Meine Frage ist: Gibt es etwas in Discourse, das die Nginx-Umleitung beeinträchtigt? Ich habe gestern alles versucht und habe keine weiteren Ideen mehr, um dieses Problem zu lösen.

Dies ist meine zweite Website: www.koktailmolotov.com. Wie Sie sehen, wird sie, wenn Sie auf die Website klicken, automatisch auf das Format https://koktailmolotov.com umgeleitet. Die Konfigurationseinstellungen sind dieselben wie für meine Discourse-Website.

Das ist nicht möglich, da der gesamte Datenverkehr von einem externen Nginx verarbeitet wird. Ich gehe hier davon aus, dass du Discourse im Socket-Modus betreibst und der externe Nginx-Proxy den gesamten Datenverkehr abwickelt.

Wenn du deine Nginx-Konfiguration für Discourse posten kannst, kann ich dir vielleicht helfen, das Problem zu finden.

Nachfolgend die gesamte Discourse.conf-nginx-Konfiguration für heute:

server {

listen 80;
listen [::]:80;
server_name www.wolcengame.net;
return 301 $scheme://wolcengame.net$request_uri;

}

server {

listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name wolcengame.net www.wolcengame.net;

ssl on;
ssl_certificate /etc/letsencrypt/live/wolcengame.net/fullchain.pem; # verwaltet von Certbot
ssl_certificate_key /etc/letsencrypt/live/wolcengame.net/privkey.pem; # verwaltet von Certbot
ssl_dhparam /etc/letsencrypt/live/wolcengame.net/dhparams.pem;
include /etc/nginx/snippets/ssl.conf;

http2_idle_timeout 5m; # erhöht von der Standardzeit von 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;

}

}

Ändere dies zu

return 301 https://wolcengame.net$request_uri;

{quote=“pr0cesor, Beitrag: 9, Thema: 143707”]
listen 443 ssl http2; listen [::]:443 ssl http2; server_name wolcengame.net www.wolcengame.net;
[/quote]

Entferne www.wolcengame.net davon

und erstelle einen separaten Block wie

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

Um klar zu sein: Dies ist überhaupt kein Discourse-Problem.

Discourse kann nur unter einer einzigen FQDN betrieben werden. Das Problem besteht darin, dass Sie zwei konfiguriert hatten und Ihre Umleitungen nicht korrekt eingerichtet waren. Die Lösungen für beide Probleme wurden bereits in anderen Themen beantwortet.

Du bist ein Genie, das hat das Problem behoben. Vielen Dank.