Redirect in Pangolin

Redirect in Pangolin

so einfach, dass man nicht darauf kommt

Wer einen öffentlichen Server betreibt, wird früher oder später einen Redirect einrichten müssen. Sei es, weil sich die Serverstruktur geändert hat oder weil mehrere Schreibweisen einer Domain existieren.

In meinem Fall sollten elwserver.de, www.elwserver.de und www.elw-server.de jeweils auf elw-server.de weiterleiten.

Das Problem dabei: Auch wenn diese Adressen „nur“ weiterleiten sollen, benötigen sie trotzdem jeweils ein gültiges HTTPS-Zertifikat. Andernfalls produzieren Browser sofort Fehlermeldungen.

Da sich Pangolin bereits um meine öffentlichen Zertifikate kümmert und gleichzeitig als Reverse-Proxy fungiert, lag es nahe, den Redirect ebenfalls darüber umzusetzen.

Also erst einmal ChatGPT & Co. befragt. Die lieferten – sagen wir – kreative Anleitungen. Nach etwa einer Stunde Trial & Error hatte ich genug und beschloss, einfach selbst eine kleine Webseite mit Redirect-Befehl zu bauen.

Diesmal hat mich die KI dann aber doch noch auf eine brauchbare Spur gebracht: Es gibt einen simplen Docker-Container, mit dem sich so ein Redirect extrem schlank umsetzen lässt.

Mit folgender Compose startet man einen kleinen Nginx-Container und gibt ihm die nötigen Befehle direkt mit:

services:
  redirect:
    image: nginx:alpine
    container_name: umzug
    networks:
      - server
    #ports:
    #  - 80:80
    command: /bin/sh -c "printf 'server { listen 80; server_name localhost; return
      301 https://elw-server.de$request_uri; }' > /etc/nginx/conf.d/default.conf
      && nginx -g 'daemon off;'"

networks:
  server:
    external: true

      - server

Wichtig ist, dass dieser Container und Pangolin im selben Docker-Netzwerk laufen. In meinem Fall heißt dieses Netzwerk server.

Anschließend können die gewünschten Domains wie gewohnt in Pangolin angelegt werden. Als Weiterleitungsziel trägt man dann einfach http://umzug:80 ein.

Pangolin kümmert sich um die Zertifikate, während der zusätzliche Container den eigentlichen Redirect übernimmt.


Fazit

Eine erstaunlich einfache Lösung, die online bislang kaum dokumentiert ist. Selbst längere Forensuchen zeigen, dass viele vor genau diesem Problem stehen.

Vielleicht hilft dieser Beitrag dem einen oder anderen, sich eine Stunde sinnloses Herumprobieren zu sparen.