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