Comment faire pour obtenir l'adresse IP de votre serveur d'application
J'ai besoin d'être en mesure de trouver l'adresse IP du serveur de la page est actuellement en cours d'exécution sur. J'ai un code qui appelle d'un site tiers et doit passer une clé spécifique qui change selon le serveur sur lequel il se trouve. Est-il une variable CGI ou une certaine façon de ColdFusion pour déterminer ce que l'adresse IP de l'hôte du serveur?
Vous devez vous connecter pour publier un commentaire.
Je voudrais utiliser hostip.info API
Votre adresse IP dans le fichier XML: http://api.hostip.info/get_xml.php
Votre adresse IP dans le HTML: http://api.hostip.info/get_html.php
Comme les autres intervenants ont indiqué si vous avez besoin de l'adresse IP externe comme le site d'un tiers voit alors vous devriez probablement utiliser l'externe approches qu'ils recommandent.
Toutefois, si le tiers est de vous donner accès à une forme qui est fondée sur un véritable IP que le Serveur se voit lui-même et non pas l'adresse IP que vous pouvez utiliser
Il y a deux raisons pour lesquelles un programme ne permet pas d'interroger l'hôte, il est exécuté sur et voir ce que son adresse IP est:
Il peut avoir plusieurs adresses ip, et à court de regarder à travers toutes sortes de structures de données du noyau, vous avez peu de chances de savoir qui va être utilisé pour une connexion sortante.
Qu'il peut se connecter au monde extérieur si un pare-feu NAT ou une sorte de proxy, de sorte que le monde extérieur va voir une autre IP que l'un de ceux configurés sur votre boîte.
En fait, il y a peut-être plus que ces deux-là, mais ce sont celles qui ont eu lieu pour moi.
À cause de cela, le plus simple est de se connecter à une autre zone à l'extérieur de votre réseau d'entreprise et de voir de quelle adresse IP il pense que vous avez. J'utilise une à deux lignes de script CGI en cours d'exécution sur ma colo boîte à détecter ce que l'IP de mon serveur à la maison a actuellement (donc je peux détecter si le câble de l'entreprise change).
Vous pouvez utiliser des CGI.LOCAL_ADDR pour déterminer l'adresse IP de votre serveur (CFML équivalent à PHP $_SERVER["SERVER_ADDR"]). Il fonctionne sur IIS et Apache à l'aide de ColdFusion ou Railo, étant donné que vous n'êtes pas derrière un Proxy, pas natting votre IP du serveur et d'avoir qu'une seule adresse IP attribuée à votre serveur (pas sûr de la propriété intellectuelle serait montré, s'il y a plus d'un).
Le moyen le plus sûr est d'utiliser un service comme WhatIsMyIP. Si le serveur est derrière un NAT, alors le système d'exploitation n'a pas connaissance de l'adresse IP externe.
Il y a beaucoup de questions dans ce sujet, voir ici par exemple.