it-swarm.com.de

Einzelner Server, Nginx als Reverse Proxy, mehrere Domains / Websites

Ich habe diese Nginx-Konfiguration für meine Website unter https, wo Nginx als Reverse-Proxy-Server verwendet wird:

  server {
      listen 80 default_server;
      listen [::]:80 default_server;
      server_name my_domain123.com www.my_domain123.com;
      return 301 https://$server_name$request_uri;
  }

  server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name localhost www.my_domain123.com;
    return 301 https://my_domain123.com$request_uri;
  }

  server {
      listen 443 ssl default_server;
      listen [::]:443 ssl default_server;
      server_name my_domain123.com;

    location / {
      proxy_redirect      http://localhost:4000 https://my_domain123.com;
      # ...........................

    }

Wie soll ich es anpassen, damit ich mehrere Websites mit verschiedenen Domainnamen auf dem gleichen Server hosten kann? Wo genau in der Konfiguration soll ich die neue Konfiguration für diese neue Website einfügen?

Oder sollte ich eine weitere Site erstellen, die auch dafür verfügbar/aktiviert ist? Die Frage bleibt jedoch : Wie würde ich zwei oder mehr Konfigurationen - denselben Server, mehrere Domänen - richtig kombinieren?

4
Rakori

Normalerweise erstellen Sie eine neue Konfigurationsdatei /etc/nginx/sites-available/newserver.conf für den neuen Server und verknüpfen sie mit/etc/nginx/sites-enabled. Um nginx als Reverse-Proxy zu verwenden, konfigurieren Sie SSL in nginx (ssl_certificate, ...) und verwenden im Abschnitt "location" proxy_pass für den Nicht-SSL-Server bei localhost. proxy_redirect wird ebenfalls benötigt, dies ändert jedoch nur den Standortheader, falls Ihr lokaler Server ohne SSL einen sendet. Ein Beispiel finden Sie im folgenden Artikel .

Mehrere http-Server auf localhost verwenden unterschiedliche Ports

    server {
    server_name mydomain-01.com;

    location / {
      proxy_redirect http://localhost:8001 https://mydomain-01.com;
      ...
    }
}
server {
    server_name mydomain-02.com;

    location / {
      proxy_redirect http://localhost:8002 https://mydomain-02.com;
      ...
    }
}

Einzelner http-Server auf localhost mit hostnamenbasierten Sites

server {
    server_name mydomain-01.com;

    location / {
      proxy_redirect http://s1.localdomain:4000 https://mydomain-01.com;
      ...
    }
}
server {
    server_name mydomain-02.com;

    location / {
      proxy_redirect http://s2.localdomain:4000 https://mydomain-02.com;
      ...
    }
}
8
1Peter