omu / nokul

The Nokul Project
https://nokul.omu.sh/
GNU General Public License v3.0
46 stars 3 forks source link

Dokku'da büyük boyutlu dosyalar yüklenirken 413 dönüyor #213

Closed msdundar closed 6 years ago

msdundar commented 6 years ago

Nokul'da belirli bir boyutun üzerinde resim yüklemeye çalıştığımda (örneğin 6MB'lık bir resim), istek daha nokul'a düşmeden Dokku'dan 413 dönüyor.

Şuan için sorun değil, ancak production'da da dokku kullanacaksak daha user-friendly bir hata sayfası dönmesi doğru olur.

2018-08-14 14-17-16 ekran goruntusu

roktas commented 6 years ago

Nginx’ten geliyor aslında, https://github.com/dokku/dokku/issues/802

roktas commented 6 years ago

Buna baktım. Nginx özelleştirmesi yapılabilir iki yerde:

@ecylmz: Fotolarda 3 MB Rails, 10 MB Nginx sınırı makul. Ama Nokul'da gelecekte öyle rotalar olabilir ki daha büyük dosyaların yüklenmesi gerekebilir. Bu rotalara özel olarak client_max_body_size "per route" olarak arttırılmalı. Nasılı şurada

roktas commented 6 years ago

@msdundar Böyle bir çözüm kurguladım, uygun mudur?

roktas commented 6 years ago

Bu arada, Nginx default'ı 1 MB olarak görüyorum. Yani mevcut durumda 1-3 MB arası legal uploadların bile kesilmesi gerekiyor?

roktas commented 6 years ago

@ecylmz: Daha önce konuştuğumuz gibi ufaktan Nginx özelleştirmeleri yapmamızın vakti geliyor gibi. Soru şu: bu özelleştirmeleri nerede tutalım? Örneğin bu sorun için tüm nginx şablonuyla oynamak yerine /home/dokku/nokul/nginx.conf.d altına bir ayar atmak yeterli Bu yolla gideceksek ayarlar depoda olmayacak. Yok depoda olsun dersek, nginx.conf.sigil gibi bir dosyayı depo köküne eklememiz gerekecek. Bunu bir düşünelim...

ecmelkytz commented 6 years ago

Aynı problem ais sisteminde de mevcut.

ecylmz commented 6 years ago

@ecmelkytz'ın dediği problemi aşağıdaki yapılandırmayla çözdük.

echo 'client_max_body_size 10m;' > /home/dokku/ais/nginx.conf.d/upload.conf
chown dokku:dokku /home/dokku/ais/nginx.conf.d/upload.conf
service nginx reload

@roktas hocam nokul için de böyle devam edelim mi? bu şekilde tek seferlik bir yapılandırma ile işi kurtarıyoruz. böylece custom nginx yapılandırmasına da ihtiyaç kalmıyor. custom 413 sayfası isterseniz mecbur nginx.conf.sigil dosyasını depoya eklemek zorunda kalacağız. her dokku sürümü yükseldiğinde de bakıma ihtiyaç duyabilir.

roktas commented 6 years ago

:+1: süper çözüm olmuş bence. depoyu kirletmeye gerek yok. yalnız bunu mutlaka dokümante edelim.

ecylmz commented 6 years ago

nokul, nokul-develop, kalem, kalem-develop ve ais uygulamalarında upload limiti 10MB olarak ayarlandı.

işlem dokümante edildi: https://github.com/omu/omu/blob/master/doc/dokku.md#maksimum-upload-boyutunu-art%C4%B1rma