이 문제 에 대한 해결책을 찾고 있습니다 . 해당 질문의 설정이 작동하지 않는 이유를 이해하지만 작동시킬 수있는 솔루션을 얻으려고합니다.
아이디어는 특정 URL에서만 큰 파일 업로드를 허용하는 것입니다. 나는 location
이것을 위해 블록을 사용할 수 있지만 문제는 : PHP 프론트 컨트롤러 패턴이 있습니다 :
location ~ \.php {
# ...
fastcgi_pass unix:/tmp/php5-fpm.sock;
}
내 총 설정은 다음과 같습니다.
# ...
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;
}
}
}
내가 이해하는 것처럼 하나의 위치 블록 만 적용됩니다. 따라서 기본 요청 크기가 512K 인 경우 모든 요청이 프론트 컨트롤러 패턴을 통해 일치되므로 256M이 적용되지 않습니다 ~ \.php
.
이 경우에 맞 admin/upload
습니까? 그렇다면 방문자가 업로드 할 때를 제외하고는 아무것도 업로드 할 수 없도록 구성 할 수있는 것은 무엇 입니까?