我想托管一个多租户网站,租户可以在其中选择一个站点代码/子域,只要它是唯一的,我就会为他们创建一个文件夹并将静态文件转储到其中。 然后,我希望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 是否可以首先做到这一点,如果是这样,配置会是什么样子?
尝试使用正则表达式为子域提供服务,并参考使用 nginx 创建子域
服务子域的配置示例:
server {
server_name ~^(www.)?(?<domain>.+)$;
location / {
root /sites/$domain;
}
}
或参考加布里埃尔·豪特克洛克的堆栈问题答案