Einrichten des NGINX-Reverse-Proxys für von S3 gehostete Websites


Ich arbeite daran, statische Websites auf Amazon S3 zu hosten. Die Struktur der Website wäreBucket-Name / Site-Name / files.htmlMein Problem ist nun, dass der Benutzer seine eigene Domain verwenden kann, um die Website zu veröffentlichen. Zum Beispiel: Er besitzt eine Domain wiewww.ABC.com und möchte seine Seite dort hosten.
Ich habe einen Reverse-Proxy-Server auf einer ec2-Instanz eingerichtet, um die Anforderungen zu bearbeiten, zwww.ABC.com sollte den Inhalt aus dem S3-Bucket sehen oder der Domain-Name sollte auf den S3-Bucket verweisen.
Ich bin mir bewusst, dass es DNS-Änderungen und Aktualisierungen von CNAME- und A-Einträgen gibt, aber ich muss auch REGELN in die NGINX-Konfiguration schreiben, um die URL wie gewünscht umzuleiten.

Das ist die Struktur, die ich habe, die nicht funktioniert und die Experten gerne anschauen würden: Zur Zeit veröffentliche ich meine Sites auf einer Subdomainsites.development.com/bucket-name/sitename.
Dies ist meine default.conf-Datei nach der Installation von Nginx

     server {
     listen       x.x.0.0:80;
     server_name  x.x.x.x;
     access_log  /var/log/nginx/access.log;
     error_log   /var/log/nginx/error.log;
     root        /usr/local/nginx/html;
     index       index.html;


    location / {
        proxy_pass  http://development.mydomain.com:9585;
        include /etc/nginx/proxy_params;
    }
   }

Zur Zeit stelle ich es auf einem Entwicklungsserver ein, dessen URL isthttp://development.mydomain.com(Dies ist eine unabhängige ec2-Instanz). Mein Proxyserver läuft auf einer anderen EC2-Instanz alshttp://development.mydomain.com.

Ich habe mir auf der Grundlage von Vorschlägen aus verschiedenen Quellen eine gewisse Struktur ausgedacht.
Das ist es:

    server {
    listen 80;
    server_name x.x.x.x.; //This would be the name on which I have NGINX installed,right?

    set $host_without_www $host; //What would be the host?any host with www pointing to the site on S3?
    if ($host ~* www\.(.*)) {
       set $host_without_www $1;
    }

    location / {
        rewrite ^(.*)$ /$host_without_www$1 break;
        proxy_pass {{s3-bucket-url}};
    }
}

Ich habe keine Erfahrung mit NGINX und Proxy-Servern und stecke daher einige Zeit fest.
Bitte teilen Sie Kommentare basierend auf Ihren Erfahrungen und schlagen Sie eine Lösung vor.
Vielen Dank für Ihre Aufmerksamkeit

Antworten auf die Frage(0)

Ihre Antwort auf die Frage