jwilder/nginx-proxy und Domain-Einstellungen für Weiterleitung von domain.de auf www.domain.de

  • Hallo zusammen,


    ich möchte dafür sorgen, dass Anwendungen, die in Docker-Containern hinter einem Reverse-Proxy liegen (jwilder/reverse-proxy) auch über eine Weiterleitung von "nicht-www" auf "www" erreichbar sind. Dazu ein paar Gedanken und Fragen...


    Gedankenansatz bisher:

    • der Docker-Container mit der Anwendung bekommt die Varibale VIRTUAL_HOST mit dem Wert "domain.de" (statt bisher "www.domain.de")
    • im gemappten Volume des Reverse Proxy Containers liegt eine Config-File für den VHOST, die im Container dann unter /etc/nginx/vhost/domain.de liegt
      In dieser Config findet eine Weiterleitung statt: rewrite ^/(.*)$ http://www.domain.de$1 permanent;

    Davon abgesehen, dass ich mir nicht sicher mit dem Setup bin (bisher hat alles ganz gut out of the box funktioniert, und ich hab es bisher geschafft, das Konstrukt nicht aufbohren zu müssen), wie muss ich im CCP den Domain-Eintrag entsprechend einstellen? Brauche ich einen A-Record, der im Host @ hat und einfach auf die IP zeigt? Bisher habe ich als VIRTUAL_HOST immer www.domain.de angegeben und den Domain-Eintrag dafür entsprechend mit www im Host eingetragen.


    Vielleicht ist noch erwähnenswert, dass ich verschiedene subdomains habe, die wiederum auf andere Container (hinter dem Reverse Proxy) zeigen. Diese haben dann entsprechend sub.domain.de als VIRTUAL_HOST eingetragen und werden durch die vom nginx Container generierte Config automatisch ans richtige Zeil weitergeleitet.


    Besten Dank im Voraus!

    LG, Deniz

  • Hi, wenn ich dich richtig verstehe, dann möchtest du auf das gleiche Setup hinaus, das ich auch habe.

    Mein DNS-Eintrag führt soweit nur ein "*" und ein "@" auf die IP meines VPS.


    Allen Docker-Containern, die von außen erreichbar sein sollen ,gebe ich dann die entsprechenden Subdomains als Environment-Variablen mit. (Ich habe zusätzlich zum jwilder/nginx-proxy noch einen letsencrypt-container):

    VIRTUAL_HOST=sub.domain.de

    LETSENCRYPT_HOST=sub.domain.de


    Auf diese Weise sind mehrere Domains auf einer IP erreichbar. Soweit hast Du es aber auch, denke ich.


    Du kannst im composefile, oder wie du auch sonst deine Container baust, mehrere Domains als Environment-Variable mitgeben. z.B. VIRTUAL_HOST=domain.de,www.domain.de. Dadurch wäre der Container mit und ohne www erreichbar. Und die anderen Subdomains sind ebenso noch erreichbar.
    Die rewrite-Regel würde ich dann erst in den Configdateien von diesem Container machen und nicht bei dem Proxy. Bei denen hab ich das Gefühl, dass die überschrieben werden.