152 votes

Est-il possible de faire en sorte que Nginx écoute sur des ports différents ?

J'ai créé un Nginx avec une VM Linux Azure, est-il possible de faire en sorte que Nginx écoute différents ports de sorte que lorsque je change le numéro de port, le contenu soit différent. J'ai constaté qu'il y aurait une collision si je créais deux ou plusieurs ports liés à HTTP sur la VM. Quelqu'un peut-il m'aider à ce sujet ?

283voto

Felix Points 2465

Vous pouvez également faire ce qui suit :

server {
    listen 80;
    listen 8000;
    server_name example.org;
    root /var/www/;
}

2 votes

C'est très bien. En particulier, le fait de pouvoir modifier la configuration du serveur dans un seul contexte de serveur semble bien supérieur au risque d'en modifier un et de laisser l'autre inchangé...

18 votes

Cela ne répond pas à la question posée par @billcyz. Il a demandé différents ports et un contenu différent . Cette réponse donne différents ports avec le même contenu .

2 votes

@Krishnendu : "beaucoup plus pratique" ? plus pratique que quoi ? Cela ne répond pas à la question de l'OP. Dans ce cas, :80 et :8000 renvoient tous deux au même contenu. L'OP a demandé explicitement "si je change le numéro de port, le contenu sera différent". Ainsi, l'article de Craig Miskell répond bien mieux à la question que celui-ci

148voto

Craig Miskell Points 3976

Oui, c'est vrai.

Ce que vous voulez probablement, c'est plusieurs stances "serveur", chacune avec un port différent, mais peut-être (probablement ?) le même nom de serveur, servant le contenu "différent" de manière appropriée dans chacune d'elles, peut-être avec une racine de document différente dans chaque serveur.

La documentation complète est ici : http://nginx.org/en/docs/http/server_names.html

Ejemplo:

server {
    listen       80;
    server_name  example.org  www.example.org;
    root         /var/www/port80/
}

server {
    listen       81;
    server_name  example.org  www.example.org;
    root         /var/www/port81/
}

41 votes

Il est ennuyeux de ne pas pouvoir faire listen 80 81; n'est-ce pas ? Mais bon...

6 votes

@MattFletcher Il est possible de faire quelque chose de similaire, voir le commentaire de Felix : serverfault.com/a/755791/308219

0 votes

Je dois le faire avec l'adresse IP au lieu du nom de domaine, j'ai créé 2 fichiers dans sites-available mais cela ne fonctionne pas dans mon cas.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X