Saya mencari solusi untuk masalah ini . Saya mengerti alasan mengapa pengaturan dalam pertanyaan itu tidak berhasil, tetapi saya mencoba untuk mendapatkan solusi di mana saya bisa membuatnya bekerja.
Idenya adalah untuk memungkinkan unggahan file besar hanya pada url tertentu. Saya dapat menggunakan location
blok untuk ini, tetapi masalahnya adalah: Saya memiliki pola frontcontroller php:
location ~ \.php {
# ...
fastcgi_pass unix:/tmp/php5-fpm.sock;
}
Konfigurasi total saya terlihat seperti:
# ...
http {
# ...
client_max_body_size 512K;
server {
server_name example.com;
root /var/www/example.com/public;
location / {
try_files $uri /index.php?$query_string;
}
location /admin/upload {
client_max_body_size 256M;
}
location ~ \.php {
# ...
fastcgi_pass unix:/tmp/php5-fpm.sock;
}
}
}
Seperti yang saya mengerti, hanya satu blok lokasi yang akan diterapkan. Jadi jika saya memiliki ukuran permintaan standar 512K, 256M tidak akan pernah diterapkan karena semua permintaan dicocokkan melalui pola frontcontroller ~ \.php
.
Apakah saya benar dalam kasus ini dan jika demikian, apa yang dapat dikonfigurasi sehingga pengunjung tidak dapat mengunggah apa pun kecuali ketika mereka mengunggah admin/upload
?