我正在尝试设置一个 Nginx,我想在其中将两个数字相加。
server {
server_name "~^pr-(\d*).review-apps.example.com$";
location / {
set $port 50000+$1;
proxy_pass "http://localhost:$port/test";
}
}
但这不起作用????。 (结果为字符串形式。例如“50000+125”)
如何在 nginx.conf 中添加两个数字?有可能吗?
如果您使用固定长度的数字,例如仅三位数字,对于这种特殊情况,您可以使用字符串连接而不是添加数字:
server {
server_name "~^pr-(\d{3}).review-apps.example.com$";
location / {
set $port 50$1;
proxy_pass "http://localhost:$port/test";
}
}
这会给你准确的50145
为了pr-125.review-apps.example.com
主机名。
对于端口号数字的可变计数,您可以使用命名的正则表达式捕获组:
server {
server_name "~^pr-(?<pr1>\d).review-apps.example.com$"
"~^pr-(?<pr2>\d{2}).review-apps.example.com$"
"~^pr-(?<pr3>\d{3}).review-apps.example.com$";
location / {
if ($pr1) { set $port 5000$pr1; }
if ($pr2) { set $port 500$pr2; }
if ($pr3) { set $port 50$pr3; }
proxy_pass "http://localhost:$port/test";
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)