J'ai plusieurs applications ruby exécutées sur le même hôte:
~/app1
~/app2
~/app3
Et je veux avoir le proxy nginx ces applications en utilisant des sous-répertoires comme:
http://example.com/app1
http://example.com/app2
http://example.com/app3
Je suis curieux de savoir si nginx me permet de définir ces emplacements dans plusieurs fichiers, afin que je puisse conserver chaque configuration avec l'application, au lieu d'avoir un fichier de configuration monolithique pour toutes les applications:
~/app1/nginx.conf
~/app2/nginx.conf
~/app3/nginx.conf
Ma tentative naïve de définir le serveur avec une seule directive d'emplacement dans chacun des 3 fichiers de configuration a abouti à conflicting server name "example.com" on [::]:80, ignored
une configuration qui ressemble à ceci:
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;
}
}
Existe-t-il un moyen d'organiser les configurations de cette manière?