Discourse mit nur HTTP installieren (kein HTTPS)

Ich versuche, Discourse auf meinem System zu installieren, habe aber bisher keinen Erfolg.

Ich habe einen Nginx-Server auf einer Host-Maschine, und Discourse läuft in einer dedizierten VM auf diesem Host. Der Nginx-Server übernimmt die gesamte SSL-Verarbeitung sowie die Umleitung von HTTP auf HTTPS. Ich möchte zwischen Nginx und der Discourse-Installation reines HTTP verwenden. Ich weiß jedoch nicht, wie ich Discourse daran hindern kann, SSL zu nutzen.

Mit konfiguriertem SSL leitet Discourse von meiner HTTP-Quelle endlos auf HTTPS um.

Hier ist mein Nginx-Konfigurationsausschnitt:

server {
  listen 443 ssl;
  listen [::]:443 ssl;

  server_name forum.example.com;

  # SSL-Konfiguration ...
        ssl_certificate         /etc/nginx/certificates/cloudflare-example.com.pem;
        ssl_certificate_key     /etc/nginx/certificates/cloudflare-example.com.key;

  # Reverse-Proxy zu Discourse:
  location / {
    proxy_pass http://192.168.1.123:80/;
    proxy_http_version 1.1;
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_read_timeout 120;
  }
}

Ich habe versucht, die folgenden Zeilen in der Datei app.yml auszukommentieren:

- “templates/web.ssl.template.yml”

- “templates/web.letsencrypt.ssl.template.yml”

und dann mit ./launcher rebuild app neu zu bauen. Allerdings startet der HTTP-Server nicht.

Gibt es irgendwo Anleitungen für ein solches Setup? Oder muss ich SSL zwischen meinem Nginx und Discourse konfigurieren?

Ich gehe davon aus, dass dies daran liegt, dass dein Nginx denselben Port 80 wie die Anwendung verwendet (oder vielleicht auch nicht – ich habe zu schnell gelesen und den VM-Teil des Problems übersehen :sweat_smile:). Die Verwendung der Web-Socket-Vorlage sollte das Problem lösen (sowie die Nutzung von HTTPS).