Nginx - 如何根据子域从文件夹中提供静态文件



我想托管一个多租户网站,租户可以在其中选择一个站点代码/子域,只要它是唯一的,我就会为他们创建一个文件夹并将静态文件转储到其中。 然后,我希望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;
        }
    }

或参考加布里埃尔·豪特克洛克的堆栈问题答案

最新更新