NGINX的“全球”位置


9

是否可以为NGINX服务器创建“全局”位置?我希望NGINX服务的每个站点都可以访问/ global /文件夹;遵循

http {
    [...stuff...]

    #Global path
    location /global/ {
        root /my/global/location/;
    }

    server {
        listen          127.0.0.1:80;
        server_name     example.com;

        [...standard config...]
    }

    server {
        listen          127.0.0.1:80;
        server_name     example.org;

        [...standard config...]
    }

    server {
        listen          127.0.0.1:80;
        server_name     example.net;

        [...standard config...]
    }
}

并能够从http://example.com/global/ http://example.org/global/等访问全局位置的文件。

如果将全局位置块添加到每个server块中,则可以执行此操作,但这很烦人,我想在全局范围内对其进行定义,并能够从站点内部进行访问。

我可以include在每个主机中使用一个指令,但是它仍然需要每个主机中的规范。NGINX Wiki表示“位置”块仅在server上下文中有效,但我不知道是否存在重写技巧或类似内容。


这事有进一步更新吗?〜4年后?
w00t 2015年

Answers:



1

您可以使用动态虚拟主机目录以另一种方式进行操作。
例如:

server {
...
    server_name ~^(www\.)?(?<domain>.+)$;
...
    location /global/ {
        root /my/global/location/;
    }
...
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.