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?

2 „Gefällt mir“

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).

4 „Gefällt mir“