nginx使用动态提取的捕获组作为位置匹配

时间:2018-01-17 23:29:14

标签: nginx

我有一个简单的规则,允许我在同一个nginx服务器上有多个静态网站,使用子域名一切正常

当您调用projecta.domain.com时,将提供文件夹/ var / www / static / projecta 当您调用projectb.domain.com时,将提供文件夹/ var / www / static / projectb

现在我需要添加一个服务,该服务遵循相同的模式主机// more / paths

问题是块位置/ $ sub在我尝试GET http://projecta.domain.com/projecta/endpoint

之类的东西时永远不会执行

你是否有一些线索如何将变量$ sub用于du?

这是我做过的配置的一个例子

upstream app {
    server 127.0.0.1:3000;
}

server {
    listen 80;
    listen [::]:80;

    server_name ~^(?P<sub>.+)\.domain.com$;
    root /var/www/static/$sub;

    location /$sub {
        proxy_pass http://app;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }

    location / {
      try_files $uri $uri/ /index.html;
    }
}

0 个答案:

没有答案