Anfragen im Virtual-Hosted-Stil
Konfigurieren Sie die pfadbasierte Adressierung (Path-Style) und die Adressierung im Virtual-Hosted-Stil für S3-URLs in RustFS.
RustFS unterstützt beide Adressierungsarten für S3-URLs:
- Adressierung im Virtual-Hosted-Stil
- Pfadbasierte Adressierung
Die beiden Arten unterscheiden sich darin, wo der Bucket-Name in der URL steht.
Pfadbasierte Adressierung
Die pfadbasierte Adressierung ist der Standard. In einer pfadbasierten URL folgt der Bucket-Name auf den Endpunkt.
Beispiel (Bucket: test, Host: rustfs.yourdomain.com):
http://rustfs.example.com/my-bucketHinweis: Für die pfadbasierte Adressierung ist keine Konfiguration erforderlich.
Adressierung im Virtual-Hosted-Stil
Bei der Adressierung im Virtual-Hosted-Stil ist der Bucket-Name Teil der Domain.
Beispiel (Bucket: test, Host: rustfs.yourdomain.com):
http://my-bucket.rustfs.example.com/Konfiguration
- DNS: Legen Sie einen Wildcard-DNS-Eintrag an (zum Beispiel
*.rustfs.yourdomain.com→ IP-Adresse Ihres Servers). - Konfiguration: Ändern Sie die Konfigurationsdatei (Linux:
/etc/default/rustfs, Docker/Kubernetes: Umgebungsvariablen). - Domain setzen: Setzen Sie
RUSTFS_SERVER_DOMAINS = "rustfs.yourdomain.com". - Neustart: Starten Sie den Dienst neu (
systemctl restart rustfs).
Port in der Domain (optional)
Das Routing im Virtual-Hosted-Stil gilt für den Listener der S3-API (standardmäßig Port 9000). RustFS erkennt Host-Header automatisch, die den eigenen Port dieses Listeners enthalten. Nur wenn Clients RustFS über einen anderen Port erreichen (zum Beispiel über einen Proxy), müssen Sie diesen Port in RUSTFS_SERVER_DOMAINS angeben.
Beispiel (rustfs.yourdomain.com:8000):
RUSTFS_SERVER_DOMAINS=rustfs.example.com:8000Damit werden Anfragen wie diese korrekt weitergeleitet:
http://my-bucket.rustfs.example.com:8000/Die Weiterleitung verwendet die Adressierung im Virtual-Hosted-Stil.
Host-Header angleichen
Der Wert von RUSTFS_SERVER_DOMAINS muss exakt dem Host-Header entsprechen (einschließlich des Ports, falls vorhanden), den Clients senden.