Nginx有条件地设置variables

我想允许在我的网站的一个特定的子域名上传1GB上传upload.xxx.xx.xx

目前我正在尝试类似于:

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

但是,当然,它给了我一个关于client_max_body_size不应该在那里的错误。

有没有办法做到我想要的东西,而不重复两个vhost ,否则所有的设置是相同的,或者在另一端,我应该不麻烦去确保用户只能上传大于10MB的麻烦upload子域名?

我不确定它是否专门与client_max_body_size协同工作,但是,一般来说,nginx确实可以完成您所描述的内容。

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