我对 nginx 很陌生,我有一个 nginx conf 脚本,它具有以下模板,example1和example2具有相同的内容,我想将这些内容放入一个函数中(与编程中的方法相同的概念),并在其中传递参数以减少重复,可以这样做吗?我搜索了很长时间但没有看到做类似事情的例子。
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
}
}
Run Code Online (Sandbox Code Playgroud)
正如评论中提到的,nginx 中没有任何功能。对于这些,您需要一个配置管理系统。
但是,要组合这两个块,您可以使用正则表达式捕获:
location ~ ^/(example1|example2/)$ {
proxy_pass http://some.ip/$1;
... rest of configuration directives ...
}
Run Code Online (Sandbox Code Playgroud)
可以扩展正则表达式以匹配这些路径下的文件,例如:
location ~ ^/(example1|example2/)(.+)$ {
proxy_pass http://some.ip/$1$2;
... rest of configuration directives ...
}
Run Code Online (Sandbox Code Playgroud)
匹配 URL 中这些路径之后的所有文件并将它们添加到proxy_pass
.
归档时间: |
|
查看次数: |
7392 次 |
最近记录: |