Saya memiliki beberapa aplikasi ruby yang berjalan di host yang sama:
~/app1
~/app2
~/app3
Dan saya ingin memiliki nginx proxy aplikasi ini menggunakan sub-direktori seperti:
http://example.com/app1
http://example.com/app2
http://example.com/app3
Saya ingin tahu apakah nginx mendukung saya untuk dapat menentukan lokasi ini dalam banyak file, sehingga saya dapat menjaga setiap konfigurasi dengan aplikasi, alih-alih memiliki satu file konfigurasi monolitik untuk semua aplikasi:
~/app1/nginx.conf
~/app2/nginx.conf
~/app3/nginx.conf
Upaya naif saya untuk mendefinisikan server dengan direktif lokasi tunggal di masing-masing dari 3 file konfigurasi menyebabkan conflicting server name "example.com" on [::]:80, ignoreddengan konfigurasi yang terlihat seperti ini:
upstream app1 { server 127.0.0.1:4567; }
server {
listen [::]:80;
listen 80;
servername example.com
location /app1 {
proxy_pass http://app1;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Request-Start $msec;
}
}
Apakah ada cara untuk mengatur konfigurasi seperti ini?