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は、 'location'ブロックはserverコンテキスト内でのみ有効であると述べていますが、書き換えのトリックなどがあるかどうかはわかりませんでした。


これに関する更新はありますか?〜4年後?
w00t

回答:



1

動的なvhostディレクトリを使用することで、逆に並べ替えることができます。
例えば:

server {
...
    server_name ~^(www\.)?(?<domain>.+)$;
...
    location /global/ {
        root /my/global/location/;
    }
...
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.