Tengo dos servidores en la intranet, un servidor de base de datos y un servidor web. Y deje que el administrador de la red asigne una IP de red externa al servidor web para que se pueda acceder a la red externa y a la red interna al mismo tiempo. Pero esto crea un problema. El servidor web utiliza la dirección relativa de la red interna para recuperar datos. De esta manera, al acceder desde la red externa, no se pueden obtener los datos y solo se puede mostrar el marco. Si el servidor de la base de datos también está asignado, no se podrá acceder a la intranet y no podré depurarla. Si los dos servidores se combinan en uno, la velocidad de ejecución se verá afectada y ahora el jefe no quiere invertir más dinero en ello, después de todo, es solo una demostración. También se puede solucionar moviendo las dos máquinas a la sala de ordenadores de la red del laboratorio y conectándolas directamente a la red externa. Sin embargo, la sala de ordenadores de la red está cerrada y tiene una tarjeta de acceso, por lo que no puedo entrar y hacer cambios con frecuencia.
Lo pensé detenidamente y sentí que este problema debería resolverse haciendo un juicio. Simplemente juzgue si se accede a la IP de la red interna o a la IP de la red externa y realice la operación correspondiente según el juicio. Descubrí que usar JS es bueno, porque la IP obtenida por JS tiene una ventaja: obtiene la IP establecida por la máquina local. Si la computadora está conectada a Internet a través de una LAN, obtiene la IP de la LAN de la computadora, a diferencia de Request. en ASP, que obtiene la IP del ordenador conectado a Internet.
Código (copiado de otra persona, pero puedes consultarlo :))
<html>
<cabeza>
<meta http-equiv="Tipo de contenido" content="text/html; charset=gb2312">
<title>JS obtiene la IP del cliente</title>
</cabeza>
<cuerpo>
<tipo de script="texto/javascript" idioma="javascript">
<!--
función GetLocalIPAddress()
{
var obj = nulo;
var rslt = "";
intentar
{
obj = nuevo ActiveXObject("rcbdyctl.Configuración");
rslt = obj.GetIPAddress;
objeto = nulo;
}
captura (e)
{
//Se produce una excepción
}
regresar primero;
}
document.write("Su IP es: " + GetLocalIPAddress());
//-->
</script>
</body>
</html>
Se dice que pueden aparecer advertencias durante el uso, pero esto es solo una prueba, no debería ser un problema, jaja :)