Je veux spécifier des noms d'hôtes avec deux ports différents dans le hosts
fichier Windows .
Y a-t-il un moyen de le faire? Ou n'est-ce pas autorisé par Windows lui-même?
Je perds mon temps à chercher la solution depuis 8 heures.
Est - il possible de spécifier des ports dans le fichier hôte, hosts
? Par exemple: 127.0.0.1:80
et127.0.0.1:9211
windows
ip-address
localhost
Peter Mortensen
la source
la source
Réponses:
Utilisez simplement des adresses IP sans ports. Exemple:
Ensuite, pour accéder à 192.168.2.50:5555 à partir de votre navigateur (ou d'un autre programme):
Le
hosts
fichier se trouve à:Linux
/etc/hosts
Windows :
C:\Windows\System32\drivers\etc\hosts
la source
C:\Windows\System32\drivers\etc\hosts
?Vous ne pouvez pas associer un numéro de port à un nom d'hôte mappé à une IP dans le fichier hosts. Vous pouvez y parvenir avec Fiddler en utilisant FiddlerScript:
la source
hosts
fichier est uniquement destiné à la résolution du nom d'hôte<hostname>:<port>
, par défaut au port80
Scénario de problème typique
127.0.0.1
aliaslocalhost
(définie dans le fichier hosts) .pour éviter la collision entre d'autres serveurs existants ou en cours d'exécution, l'application vous permet généralement de modifier le port, mais pas l'adresse IP.
2a. Si vous pouviez changer l'adresse IP des serveurs en une autre dans l' espace d'adressage réservé au bouclage
127.0.0.0/8
, alors vous n'essaieriez probablement pas de définir des ports dans le fichier hosts.Solution possible
Vous pouvez contourner ce problème en utilisant l' outil de mise en réseau inclus Windows
netsh
comme proxy de port.Aperçu
Actions
localhost:8081
127.65.43.21 example.app
127.0.0.0/8
peut être utilisée.127.65.43.21:80
n'est pas occupé par un autre service.netstat -a -n -p TCP | grep "LISTENING"
netsh interface portproxy add v4tov4 listenport=80 listenaddress=127.65.43.21 connectport=8081 connectaddress=127.0.0.1
http://example.app
Remarques:
- Ces commandes / modifications de fichiers doivent être exécutées avec les droits d'administrateur
- netsh portproxy a besoin des bibliothèques ipv6 même uniquement pour utiliser v4tov4, généralement elles seront également incluses par défaut, sinon installez-les en utilisant la commande suivante:
netsh interface ipv6 install
Vous pouvez voir l'entrée que vous avez ajoutée avec la commande:
netsh interface portproxy show v4tov4
Vous pouvez supprimer l'entrée avec la commande suivante:
netsh interface portproxy delete v4tov4 listenport=80 listenaddress=127.65.43.21
Liens vers les ressources:
Remarque: cette réponse est une duplication de ma réponse discutée dans cette question / réponse similaire sur stackoverflow.
la source