1

我想托管一个多租户网站,租户可以在其中选择站点代码/子域,只要它是唯一的,我将为他们创建一个文件夹并将静态文件转储在那里。然后我希望 Nginx 根据子域从正确的文件夹中提供文件。例如..

acme.domain.com -> serves everything from /acme folder
supermonkey.domain.com -> serves everything from /supermonkey folder
john.domain.com/stuff/stuff-list.html -> serves stuff-list.html from /john/stuff folder

虽然“domain.com”将由我设置和初始化,但我不想在添加更多子域(可能有数千个)时更改任何配置。假设我将通过自动化过程很好地处理创建文件夹及其所有内容。

有人可以告诉我 Nginx 是否可以首先做到这一点,如果可以,配置会是什么样子?

4

1 回答 1

0

尝试使用正则表达式为子域提供服务, 并参考使用 nginx 创建子域

配置示例以服务子域:

 server {
        server_name   ~^(www\.)?(?<domain>.+)$;

        location / {
            root   /sites/$domain;
        }
    }

或参考Gabriel Hautclocq 的堆栈问题答案

于 2018-03-23T06:10:09.817 回答