我有多个节点 websocket,可通过与 UNIX 套接字路径匹配的 url 获得。我不想复制 location 指令,而是希望有一个类似 URL 列表的东西,这些 URL 将用作套接字名称。使用正则表达式不起作用,因为我需要套接字名称的路径。
目前我正在使用这个位置:
location /application1/
{
proxy_pass http://unix:/var/run/nodejs/application1;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
目标是拥有类似的东西:
$list = [app1, app2, app3]; #list of possible names
location /$list/ #match all names in the list
{
proxy_pass http://unix:/var/run/nodejs/$list_matched; #use matched name
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
基本上,列表中的每个 URL 都应该重定向到同名的套接字。
在此先感谢您的帮助:)
您需要使用正则表达式。像这样的东西应该可以工作,但你必须自己制定正则表达式。有很多教程和正则表达式实验站点。