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;
}

相关内容