2 votes

Utilisation du même port dans IIS et nginx sur des adresses IP différentes

Le serveur exécute Windows Server 2019 Standard avec IIS 10, et il possède deux interfaces réseau avec des adresses IP publiques (198.51.100.1 et 203.0.113.1).

Ma configuration souhaitée :

  • IIS : 198.51.100.1 sur le port 80
  • IIS : 198.51.100.1 sur le port 443
  • IIS : 203.0.113.1 sur le port 80
  • nginx : 203.0.113.1 sur le port 443

Mais après le démarrage de IIS, le http.sys (PID=4) commence à écouter les ports 80 et 443 sur toutes les IP :

  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       4
  TCP    0.0.0.0:443            0.0.0.0:0              LISTENING       4
  TCP    \[::\]:80                \[::\]:0                 LISTENING       4
  TCP    \[::\]:443               \[::\]:0                 LISTENING       4

Je peux limiter à une adresse particulière avec la commande 'netsh http add iplisten', mais je veux utiliser les adresses 198.51.100.1 et 203.0.113.1 dans IIS. Iplisten n'est pas autorisé à spécifier des ports.

Et je ne veux pas utiliser de proxy inverse...

Quelqu'un sait-il comment je peux utiliser 443 à la fois dans IIS et nginx ?

1 votes

Ne pouvez-vous pas utiliser Site ==> Bindings dans IIS Manager pour arrêter d'écouter toutes les adresses IP et limiter IIS à l'adresse IP spécifique 1.1.1.1 pour le port 443, laissant l'adresse IP 2.2.2.2:443 et le port libre pour que nginx puisse se lier ?

0 votes

Les liaisons IIS sont définies sur des adresses spécifiques (en fonction de la configuration que je souhaite). Cependant, http.sys écoute sur toutes les adresses, 0.0.0.0:80 et 0.0.0.0:443.

1voto

Ruscal Points 1223

Vous devrez utiliser NETSH pour configurer le système afin de permettre à http.sys de capturer uniquement des adresses spécifiques (par défaut, il capture les caractères génériques, comme vous le voyez dans votre NETSTAT inclus).

Essayez d'exécuter ces commandes à partir d'une invite de commande élevée (après avoir arrêté le service IIS).

netsh http delete iplisten 0.0.0.0
netsh http add iplisten 198.51.100.1:80
netsh http add iplisten 198.51.100.1:443
netsh http add iplisten 203.0.113.1:80

Cela devrait reconfigurer le http.sys pour qu'il n'écoute que les combinaisons IP:Port spécifiées, et ne capture pas de manière proactive tous les :80 et :443 du système.

Remarque importante -- Mais n'oubliez pas que vous avez maintenant limité les combinaisons IP-port auxquelles IIS est capable de répondre (quelle que soit la façon dont vous configurez les liaisons sur les sites dans IIS Admin). Si vous avez besoin d'ajouter d'autres IP et/ou ports à l'avenir, vous devrez effectuer d'autres opérations de configuration. netsh http add iplisten des commandes.

0 votes

Je n'ai pas de serveur 2019 avec lequel jouer, mais je viens de consulter les spécifications de MS Docs sur cette commande, et elles ont changé depuis ma dernière utilisation. La spécification actuelle montre qu'elle n'utilise pas (et ignore) le numéro de port - ce qui signifie que cela pourrait ne pas fonctionner pour diviser 203.0.113.1 entre IIS et nginx. Il se peut que vous deviez renoncer à l'ensemble de l'IP d'IIS et ne pas exécuter un site :80 sur celle-ci). YMMV, donc faites d'abord un essai. Mais je vois cela dans la documentation maintenant. docs.microsoft.com/fr/Windows-server/networking/technologies/

0 votes

Vraiment, on ne peut pas spécifier le port dans la commande netsh http iplisten (sur 2019 et aussi sur 2016 ou sur 2008). Dans le post original, je l'ai mentionné.

0 votes

Je suis désolé @crazyman, je ne sais pas comment j'ai pu lire ça plusieurs fois et ne pas voir que vous aviez déjà déterminé que iplisten ne fonctionnerait pas. J'aurais juré que j'étais en mesure d'utiliser les ports dans 2008r2, mais vraiment il a été assez longtemps que cela aurait pu être 03. Je viens de plonger à nouveau dans les docs et ne vois rien de courant qui limitera http.sys à des ports spécifiques.

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