J'essaie de comprendre dans quel scénario je devrai utiliser une telle commande:
netsh http add urlacl url=http://server1:1234/ user=Everyone
Est-ce comme utiliser le hosts
fichier où je peux connecter une adresse spécifique à mon ordinateur? (Je ne pense pas).
Les documents ne sont pas si clairs (pour moi):
Netsh est un utilitaire de script de ligne de commande qui vous permet, localement ou à distance, d'afficher ou de modifier la configuration réseau d'un ordinateur en cours d'exécution. Netsh fournit également une fonction de script qui vous permet d'exécuter un groupe de commandes en mode batch sur un ordinateur spécifié. Netsh peut également enregistrer un script de configuration dans un fichier texte à des fins d'archivage ou pour vous aider à configurer d'autres serveurs.
Question:
Quelqu'un peut-il s'il vous plaît fournir un scénario réel (+ mise en œuvre) où je voudrai l'utiliser?
Informations supplémentaires: j'ai lu cette question où un gars qui a essayé d'accéder (via C #) à:
http://localhost:1234
fonctionne, mais
http://server1:1234
échoue
(Cependant - je ne comprends pas pourquoi il n'a pas utilisé le hosts
fichier qui pourrait le résoudre) - Mais alors une autre personne a répondu qui netsh
fera le travail.
Je suppose donc que je manque quelque chose ici.
Réponses:
Vous utiliseriez
netsh http
lors de la modification de la configuration dehttp.sys
, qui est totalement différente duhosts
fichier, en travaillant sur un niveau beaucoup plus bas de Windows. Ce niveau est celui qui gère le fonctionnement d'un serveur HTTP localement sur votre ordinateur , il concerne donc les demandes qui arrivent sur votre ordinateur, plutôt que celles qui sortent sur Internet.Voici l'architecture de Windows pour traiter les demandes d'URL:
http.sys
est le pilote qui écoute le trafic HTTP et envoie les demandes basées sur l'URL des processus, de sorte que plusieurs processus peuvent écouter le trafic HTTP sur le même port.http.sys
a été introduit dans Windows Server 2003. Auparavant, les applications venaient d'ouvrir un socket sur un point de terminaison (IP: Port), écoutant le trafic entrant et le analysant. Le problème était que cela rendait impossible pour toutes les applications d'utiliser les ports 80 (http) et 443 (https), car avec le modèle de socket, une seule application peut écouter un point de terminaison à un moment donné.Lorsque le serveur Web Internet Information Services (IIS) , ou toute application qui utilise l'API HTTP Server, écoute sur un chemin de requête HTTP, ils doivent enregistrer un préfixe d'URL sur
http.sys
. Nous appelons ce processus d' enregistrement .Lorsqu'une demande entrante est sélectionnée par
http.sys
et envoyée à la bonne application enregistrée, cela s'appelle le routage .Toute application s'exécutant en mode administrateur peut s'inscrire pour une URL. Une application non administrateur doit utiliser
netsh http add urlacl
pour recevoir la demande.Conclusion: comme vous ne créez pas de serveur URL de bas niveau fonctionnant en mode non administrateur, vous n'avez aucune raison de l'utiliser
netsh http add urlacl
.Références :
la source