Vị trí 'toàn cầu' của NGINX


9

Có thể tạo vị trí 'toàn cầu' cho máy chủ NGINX không? Tôi muốn mọi trang web được NGINX phục vụ đều có quyền truy cập vào thư mục / global /; dọc theo những đường kẻ

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...]
    }
}

Và có thể truy cập các tệp trong vị trí toàn cầu từ http://example.com/global/ http://example.org/global/, v.v.

Tôi có thể làm điều này nếu tôi thêm khối vị trí toàn cầu vào mỗi serverkhối nhưng điều đó thật khó chịu, tôi muốn xác định nó trên toàn cầu và có thể truy cập nó từ bên trong các trang web.

Tôi có thể sử dụng một lệnh includetrong mỗi máy chủ, nhưng nó vẫn yêu cầu đặc điểm kỹ thuật trong mỗi máy chủ. Wiki NGINX nói rằng khối 'vị trí' chỉ hợp lệ trong serverngữ cảnh nhưng tôi không biết liệu có một thủ thuật viết lại hoặc một cái gì đó tương tự.


Bất kỳ cập nhật về điều này? ~ 4 năm sau?
w00t

Câu trả lời:


3

Không phải là không và theo như tôi biết thì cũng không có bất kỳ cuộc nói chuyện nào về việc thay đổi điều đó.


1
Nghĩ vậy, nhưng nó đáng để thử
Smudge

12
Vâng, đó là chán nản.
Cướp

1

Bạn có thể sắp xếp làm theo cách khác, bằng cách sử dụng các thư mục vhost động.
ví dụ:

server {
...
    server_name ~^(www\.)?(?<domain>.+)$;
...
    location /global/ {
        root /my/global/location/;
    }
...
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.