Nginx는 조건부로 변수를 설정합니다.

Nginx는 조건부로 변수를 설정합니다.

내 사이트의 특정 하위 도메인인 에 1GB 업로드를 허용하고 싶습니다 upload.xxx.xx.xx.

현재 나는 다음과 같은 것을 시도하고 있습니다.

server {
    if ( $host = 'upload.xxx.xx.xx' ) {
           client_max_body_size 1000M;
    }
}

하지만 물론 client_max_body_size거기에 있어서는 안 된다는 오류가 발생합니다.

두 개를 복제하지 않고 원하는 것을 달성할 수 있는 방법이 있습니까 vhost? 그렇지 않은 경우 모든 설정은 동일합니다. 또는 반대로 사용자가 upload하위 도메인 에 10MB보다 큰 용량만 업로드할 수 있는지 확인하는 데 어려움을 겪지 않아도 됩니다. ?

답변1

그것이 구체적으로 작동하는지 확실하지 않지만 client_max_body_size일반적으로 nginx는 설명하는 것과 정확히 일치하는 작업을 허용합니다.

server {
    set $cmbs 100K;
    if ( $host = 'upload.xxx.xx.xx' ) {
           set $cmbs 1000M;
    }
    client_max_body_size $cmbs;
}

관련 정보