我对nginx相当陌生,我有一个nginx的conf脚本,它具有以下模板, example1和example2具有相同的内容,我想把这些内容放在一个函数中(像编程中的方法一样的概念),并传递参数来减less重复,是否有可能这样做? 我search了很长时间,但没有看到一个类似的东西的例子。
server { server_name test.com location ^~ /example1/ { proxy_pass http://<some-ip>/example1/; proxy_set_header blah } location ^~ /example2/ { proxy_pass http://<some-ip>/example2/; proxy_set_header blah } }
就像提到的注释一样,nginx中没有函数。 对于这些,你需要一个configurationpipe理系统。
但是,要组合这两个块,可以使用正则expression式捕获:
location ~ ^/(example1|example2/)$ { proxy_pass http://some.ip/$1; ... rest of configuration directives ... }
可以扩展正则expression式来匹配这些path下的文件,例如:
location ~ ^/(example1|example2/)(.+)$ { proxy_pass http://some.ip/$1$2; ... rest of configuration directives ... }
匹配URL中这些path之后的所有文件,并将它们添加到proxy_pass 。