/ Ghost

Ghost, nginx & SSL

Wie vielleicht dem ein oder anderen hier aufgefallen ist, nutze ich hier als Blog-System kein Wordpress sondern Ghost.

Ghost verfolge ich seit ihrer Kickstarter-Kampagne, vor kurzem haben die Jungs und Mädels Ghost 1.0 veröffentlicht - mittlerweile sind sie bereits bei 1.5 - was ich als Anlass genommen habe, mal wieder einen neuen Blog zu starten.

Ghost läuft anders Wordpress allerdings nicht mit PHP sondern mit NodeJS. Dieses lauscht auf einem eigenen Port, welchen man mittels Webserver auf die Standard-Webserver-Ports mappen kann. Bei mir gab es allerdings das Phänomen, dass Ghost in eine Weiterleitungs-Schleife fiel, als ich SSL in der config aktivierte.

Problem war, dass meine nginx-Konfiguration nicht vollständig war. Ghost-CLI kann nginx zwar konfigurieren, ich habe allerdings als Grundlage noch eine veraltete Konfiguration genommen. Richtig sieht es so aus:

server {
   listen 443 ssl http2;
   
   [...]

location / {
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_set_header X-Forwarded-Proto $scheme;
   proxy_set_header   X-Real-IP $remote_addr;
   proxy_set_header   Host      $http_host;
   proxy_pass         http://127.0.0.1:2369;
   }
}

Je nachdem, ob man weitere Ghost-Blogs oder NodeJS-Projekte am laufen hat, kann sich der Port natürlich unterscheiden.