Skip to main content

Genel Bakış

Azalt şu depolama seçeneklerini destekler:
  • AWS S3 (varsayılan)
  • S3 uyumlu servisler (MinIO, özel bulut S3, vb.)
Dosya depolama isteğe bağlıdır. Yapılandırılmazsa dosya yükleme özellikleri devre dışı kalır.

Ortam Değişkenleri

Dosya Depolama için Zorunlu

İsteğe Bağlı Yapılandırma

Yapılandırma Senaryoları

AWS S3 (Standart)

Standart AWS S3 için sadece temel kimlik bilgileri gereklidir:
AWS SDK otomatik olarak genel AWS endpoint’lerini kullanır. S3_ENDPOINT veya S3_PUBLIC_ENDPOINT gerekmez.

MinIO (Tarayıcı Erişimli)

MinIO örneğiniz tarayıcılardan doğrudan erişilebiliyorsa (örneğin, genel IP veya domain üzerinden):
S3_ENDPOINT tarayıcı erişimli olduğu için S3_PUBLIC_ENDPOINT gerekmez.

MinIO (Docker/Kubernetes Dahili)

MinIO sadece dahili olarak erişilebiliyorsa (örneğin, Docker ağı veya Kubernetes cluster’ı):

Özel Bulut S3

Özel bulutlardaki dahili S3 uyumlu depolama için (örneğin, banka altyapısı):
Dahili S3 endpoint’iniz tarayıcılardan erişilebiliyorsa (örneğin, kullanıcılar VPN’de), S3_PUBLIC_ENDPOINT’i atlayabilirsiniz.

Presigned URL’ler Nasıl Çalışır

Bir kullanıcı dosya yükleyip indirdiğinde, Azalt tarayıcının doğrudan kullandığı bir presigned URL oluşturur.

Endpoint Çözümleme Sırası

Presigned URL’ler için (tarayıcı dosya erişimi):
  1. S3_PUBLIC_ENDPOINT (ayarlıysa)
  2. S3_ENDPOINT (ayarlıysa)
  3. AWS SDK varsayılanları (standart AWS S3 için)
Sunucu işlemleri için (yüklemeler, doğrulama):
  1. S3_ENDPOINT (ayarlıysa)
  2. AWS SDK varsayılanları

Helm Values (Kubernetes)

values.yaml içinde:

Sorun Giderme

Üç zorunlu değişkenin de ayarlandığından emin olun:
  • S3_BUCKET_NAME
  • S3_ACCESS_KEY_ID
  • S3_SECRET_ACCESS_KEY
Bu uyarı, S3_ENDPOINT yapılandırıldığında ancak S3_PUBLIC_ENDPOINT yapılandırılmadığında görünür. Uygulama presigned URL’ler için S3_ENDPOINT’i kullanacaktır.İşlem gerekli ise: S3_ENDPOINT dahili bir URL’dir (Docker/Kubernetes servis adı) ve tarayıcılar erişemez. S3_PUBLIC_ENDPOINT’i tarayıcı erişimli URL olarak ayarlayın.İşlem gerekli değil ise: S3_ENDPOINT zaten tarayıcı erişimliyse (VPN’deki kullanıcılar, genel endpoint, vb.).
Bu genellikle imzalama için kullanılan URL ile tarayıcıların gerçekte eriştiği URL arasında uyumsuzluk olduğu anlamına gelir.
  1. S3_PUBLIC_ENDPOINT’in tarayıcıların S3’e ulaşabileceği yeri gösterdiğini doğrulayın
  2. Herhangi bir reverse proxy’nin yolu doğru koruduğunu kontrol edin
  3. S3_FORCE_PATH_STYLE’ın S3 servis gereksinimlerinizle eşleştiğinden emin olun
S3 bucket’ınızın uygulama domain’inizden gelen isteklere izin veren uygun CORS yapılandırmasına sahip olduğundan emin olun.