Si comme moi, vous utilisez une application qui possède un serveur Web différent de votre serveur Web préféré, NGINX, comme par, exemple, Subsonic qui utilise Jetty, vous êtes obligé de vous coltiner un port dans votre adresse du type :
http://www.mondomaine.com:4040
Or on aimerait bien accéder à Subsonic avec un petit sous-domaine comme :
http://musique.mondomaine.com
Et c’est là qu’on est chanceux d’utiliser NGINX, car avant d’être un serveur Web c’est aussi un serveur proxy. Configurer un virtual host pour Subsonic dans ce cas là va être très rapide et ce sans devoir rajouter beaucoup de choses:
server { listen 80; server_name musique.mondomaine.com; #name server location / { proxy_pass http://127.0.0.1:4040; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
Et voilà le tour est joué.
Une petite analyse quand même de ce que l’on vient de faire :
Il faut renseigner l’adresse du serveur (127.0.0.1 si Subsonic est sur le même serveur) et le port sur lequel fonctionne l’application, ici 4040 qui est le port par défaut de Subsonic :
proxy_pass http://127.0.0.1:4040;
Ensuite on indique que l’on interdit toute les redirection non voulue par :
proxy_redirect off;
Puis on indique que l’on veut être sur l’host défini dans l’entête HTTP, puis que l’on transmet à l’adresse « réelle » de destination :
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
Pour plus de précisions je vous renvoie vers la documentation officielle !
Vous pouvez donc désormais ouvrir votre Subsonic sur une adresse beaucoup plus simple à retenir !