none
duda con variable de servidor RRS feed

  • Pregunta

  • Necesito obtener el host de una maquina cliente y almacenarlo , para eso uso el siguiente codigo:

         string HostName = System.Net.Dns.GetHostByAddress(Request.UserHostAddress).HostName;

    y digamos obtengo esto:

    miequipo.miempresa

    y va de maravilla, entro en produccion la pagina.

    el problema surgio cuando otra persona quizo probar y registrar su equipo desde otra maquina a travez de una vpn, digamoslo asi

    equipodeuntercero.miempresa

    Pero ahora cada vez que entro al servidor donde esta la pagina en produccion, cuando quiero registrar mi equipo por decirlo de nuevo, aparece:

    equipodeuntercero.miempresa

    ¿Que sucede? hace algun tipo de cache el servidor? como elimino este problema?

    Gracias


    Para que algo tenga sentido, no es necesario que tenga sentido

    sábado, 16 de agosto de 2014 22:05

Respuestas

  • hola

    por lo que entiendo te conectas por VPN o sea el servidor y el cliente no estan en la misma red, cuando usas el GetHostByAddress() este resuelve en la red del servidor, no en la del cliente por eso no va a funcionar

    es mas podrias probar desplegando el sitio en alguna pc dentro de la red de esa persona que se conecta por vpn y veras que cuando accede si el resuelve correctamente

    yo no aconsejaria que uses el GetHostByAddress en un entorno web porque no funciona, salvo que el sitio este en la misma red local que las personas que acceden,  osea sea una intranet, si te conectas remoto o con vpn seguro no funcione

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta TCage89 lunes, 18 de agosto de 2014 18:09
    domingo, 17 de agosto de 2014 12:44

Todas las respuestas

  • Tendrás que revisar el proceso paso por paso. Primero configura el servidor para que te muestre el valor de Request.UserHostAddress (si quieres puedes usar Trace.Write y hablitar las trazas para verlo). Eso te dará la dirección IP del llamante. Verifica que según navegas desde distintos equipos, te sale una dirección IP distinta. Si no es así, puede ser que los equipos que acceden al servidor de producción estén detrás de una pasarela NAT o de un servidor Proxy, y que el servidor web los "vea" a todos con la dirección del NAT o el Proxy.

    Si no es eso, y los dos equipos se ven desde el servidor con IPs distintas, entonces revisa la resolución de nombres. Si el System.Net.Dns.GetHostByAddress te devuelve el mismo nombre para dos IPs distintas, entonces es un problema del servidor DNS. Revisa qué servidor DNS tiene asignado el servidor web, y comprueba qué mapeo está haciendo ese servidor para las resoluciones inversas.

    domingo, 17 de agosto de 2014 9:49
  • hola

    por lo que entiendo te conectas por VPN o sea el servidor y el cliente no estan en la misma red, cuando usas el GetHostByAddress() este resuelve en la red del servidor, no en la del cliente por eso no va a funcionar

    es mas podrias probar desplegando el sitio en alguna pc dentro de la red de esa persona que se conecta por vpn y veras que cuando accede si el resuelve correctamente

    yo no aconsejaria que uses el GetHostByAddress en un entorno web porque no funciona, salvo que el sitio este en la misma red local que las personas que acceden,  osea sea una intranet, si te conectas remoto o con vpn seguro no funcione

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta TCage89 lunes, 18 de agosto de 2014 18:09
    domingo, 17 de agosto de 2014 12:44
  • Finalmente el sitio web quedara hospedado en una intranet asi que me bastara, funciona perfectamente por el momento.

    Gracias.


    Para que algo tenga sentido, no es necesario que tenga sentido

    lunes, 18 de agosto de 2014 18:10