Regex 组合Nginx位置块。
我在nginx conf中有以下配置Regex 组合Nginx位置块。,regex,nginx,Regex,Nginx,我在nginx conf中有以下配置 location /request1 { proxy_pass http://hostname:port/request1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } location /request2 { proxy_pass http://hostname:
location /request1 {
proxy_pass http://hostname:port/request1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
location /request2 {
proxy_pass http://hostname:port/request2;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
location /request3 {
proxy_pass http://hostname:port/request3;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
我想把它们合并成一个配置,就像
location ~ /(request1|request2|request3)/ {
proxy_pass http://hostname:port/$1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
我搞不懂语法。有人能帮我吗
回答我的问题:
以下是我的作品:
location ~ ^/(request1|request2|request3) {
proxy_pass http://hostname:port;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
请从匹配项中删除最后一个
/
。另外,添加一个^
,以确保从uri的开头开始匹配
location ~ ^/(request1|request2|request3) {
实际上,您的配置应该在这种状态下正常工作,您遇到了什么问题?尾部的
/
就是这样,例如/request11
之类的内容无法匹配。