Aktuell ist es nicht möglich, einem Bucket einen eigenen Domainnamen zuzuweisen. Wenn du für deinen Bucket dennoch eine eigene Domain verwenden möchtest, kannst du manuell eine Weiterleitung einrichten.
In diesem How-To wird erklärt, wie man auf einem Debian-basierten System eine Weiterleitung über den NGINX Reverse Proxy einrichtet.
Voraussetzungen:
- Eine eigene Domain
- Einen Server mit öffentlicher IP-Adresse
- Einen Bucket mit öffentlichen Daten
Wenn du am Ende deine Domain aufrufst, sollte der Server alle Anfragen direkt an deinen Bucket weiterleiten.
-
DNS-Eintrag erstellen
Erstelle einen neuen DNS Record. Die Domain muss auf die IP-Adresse des Servers verweisen, auf dem der NGINX Reverse Proxy eingerichtet wird.
Beachte, dass es mehrere Stunden dauern kann, bis die Änderung vollständig übernommen wurde.
-
NGINX installieren
Verbinde dich nun mit dem Server und prüfe, ob NGINX bereits auf deinem Server installiert ist. Wenn nicht, installiere es jetzt:
sudo apt update && sudo apt install nginx -y nginx -v
-
NGINX-Konfiguration einrichten
Erstelle eine neue Konfigurationsdatei, um den Reverse Proxy einzurichten:
sudo nano /etc/nginx/sites-available/bucketFüge nun eine der folgenden Konfigurationen ein:
-
Ohne SSL-Zertifikat:
Ersetze
example.commit deiner Domain und<bucket_name>.<region>mit dem Namen und der Region deines Buckets.server { listen 80; server_name example.com; location / { proxy_pass https://<bucket_name>.<region>.your-objectstorage.com; proxy_set_header Host <bucket_name>.<region>.your-objectstorage.com; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } -
Mit SSL-Zertifikat:
-
Ersetze
example.commit deiner Domain und<bucket_name>.<region>mit dem Namen und der Region deines Buckets.
> Passe außerdem den Pfad unter `ssl_certificate` an, um auf dein eigenes Zertifikat zu zeigen.
```conf
server {
listen 80;
server_name example.com;
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
location / {
proxy_pass https://<bucket_name>.<region>.your-objectstorage.com;
proxy_set_header Host <bucket_name>.<region>.your-objectstorage.com;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
```-
Änderungen anwenden
sudo ln -s /etc/nginx/sites-available/bucket /etc/nginx/sites-enabled/bucket sudo rm /etc/nginx/sites-available/default && sudo rm /etc/nginx/sites-enabled/default sudo nginx -t sudo systemctl reload nginx
Wenn du nun auf deine Domain zugreifst, sollte die Verbindung vom Server automatisch auf den Bucket weitergeleitet werden.