| |||
Redireccionamiento !!! Es posible redireccionar una pagina hacia un servidor interno, y no dejarle luego la tarea al explorador web que encuentre esta nueva direccion (no la encontrara dado que la nueva pagina se aloja en un ip interno) ??????? |
| ||||
puedes hacerlo mediante header, la verdad no deja historial en el explorador, y solo redirecciona bien, sin tener que usar metatag: Código PHP: |
| |||
Agradezco mucho tu mensaje. Por que lo que entiendo me decis que todo lo que llega al puerto 80 del ip publico 210.152.62.15, sera redireccionado al puerto 80 del ip interno 192.168.1.4 Ahora, no deseo que el servidor 210.152.62.15 deje de dar servicio web, solo desea que algunas paginas se direccionen a 192.168.1.4 (dos servidores prestando servicio web) Podria hacerlo por puerto, indicando que todo lo que llega a 210.152.62.15:5000 sea redireccionado a 192.168.1.4, pero ocurre que quien se encuentre accediendo puede poseer un firewall que impida salir por el puerto 5000 y de esta manera no puede llegar hasta 192.168.1.4 Por tal motivo deseaba saber si php, puede hacer un redireccionamiento interno, sin tocar puertos y sin dejar en manos del explorador que llegue hasta 192.168.1.4 |
| |||
Con PHP puedes "simular" un cliente HTTP común abriendo sockets hacia donde gustes y leyendo lo que estos entreguen. (fijate los ejemplos de fsckopen() en www.php.net/fsockopen) A otro nivel .. no sé que cosas hay que ver desde tu enlace externo (210.152.62.15. Supongo que el servidor HTTP en sí corre en una IP de esa intranet: 192.160.1.xxx pero tiene acceso remoto por esa IP externa) al interno (192.168.1.4) .. pero podría incluso hacer una llamada externa de tus páginas en el servidor interno tipo: Código PHP: Un saludo, Última edición por Cluster; 08/07/2004 a las 14:14 |
| |||
Cita: MUCHAS GRACIAS CLUSTER POR TU REPUESTA !!!!
Iniciado por Cluster Con PHP puedes "simular" un cliente HTTP común abriendo sockets hacia donde gustes y leyendo lo que estos entreguen. (fijate los ejemplos de fsckopen() en www.php.net/fsockopen) A otro nivel .. no sé que cosas hay que ver desde tu enlace externo (210.152.62.15. Supongo que el servidor HTTP en sí corre en una IP de esa intranet: 192.160.1.xxx pero tiene acceso remoto por esa IP externa) al interno (192.168.1.4) .. pero podría incluso hacer una llamada externa de tus páginas en el servidor interno tipo: Código PHP: Un saludo, No habia considerado la opcion de include ya que consideraba que include solo insertaba codigo al script y nunca pense que podria ejecutar codigo de otro servidor. Te cuento el por que de esta historia. Trabajo en php que accesa a una base de datos mysql en un entorno de linux. Al servidor web que tenemos instalado no puedo instalarles librerias nuevas. Solo tengo acceso a los scripts. Y tenia necesidad de usar funciones de la librerias GD. Entonces instale otro servidor interno con todas las funcionalidades que necesitaba y desde el servidor web pretendia acceder a este servidor para ejecutar las funciones de las librerias GD. Con el dato que me pasaste (include), creo que tengo el 70% del camino recorrido ya que comprobe que efectivamente los script que utilizan la sentencia include del servidor web pueden ejecutar paginas alojadas en el otro servidor como propias. El inconveniente que tengo ahora es que el codigo php para mostrar una imagen necesita ejecutar <img src="imagen.php"> donde imagen.php tendria que ser el programa alojado en el segundo servidor que mostraria la imagen. Veo un poco dificil colocar la sentencia include en este codigo, pero bueno tendre que ver otra cosa. Estaba pensando en iframe, aunque escuche que posee algunos agujeros de seguridad y ademas es solo compatible con internet explorer. Clauster, estoy en deuda con vos, muchas gracias por todo y a tus ordenes |
| |||
Si usas en tu servidor 2 algún script que genera imagenes vía GD .. este ya usa sus cabeceras HTTP própias para indicar al "navegador" (cliente) que tales datos son una imagen (cabecera MIME le indicará que tipo es). Si quieres "ejecutar" o "llamar" ese código desde otro servidor .. la parte que corresponde a la imagen siempre podrás hacerlo tipo: <img src="http://servidor2/imagen.php"> Y por la misma filosofía .. te podrías "comunicar" on tu script imagen.php del servidor2 tan sólo pasando como parámetros variables que vas a generar en el script que genere ese HTML de imagen (con la llamada al imagen.php de servidor2.php) tipo: script.php (servidor1) Código PHP: Un saludo, Última edición por Cluster; 12/07/2004 a las 18:54 |
| |||
Cluster: Lo que me dices fue lo primero que intente implementar. Pero ocurre que cuando el navegador del cliente se encuentra con: <img src="http://servidor2/imagen.php?variable=<? echo $variable_servidor1 ?>"> intenta buscar a servidor2 en la red publica, y realmente servidor 2 no existe en la red publica sino en la red privada. Entonces no encuentra nada. |
| |||
Ok .. no conozco la configuración de tu red (servidores DNS o configuraciones de "host" de los PC cliente ni de los navegadores) .. pero podrías revisar ese tema. Por ejemplo (sin uso de servidor DNS) con una configuración del archivo "host.sam" (renombrado a host) de los PC cliente y el navegador ajustado a (en IE sería:) "No usar proxy para direcciones locales" (en el apartado de "conexiones") tendría que funcionarte). (En la Intranet de mi trabajo funcionamos así, la intranet corre bajo una IP local y el acceso a páginas de internet pasan por un proxy .. Para que el proxy no me intente "interpretar" las direcciones locales (http://pc_servidor_intranet) tengo que activar dicha opción en los clientes navegadores). Confirma todo esto en el foro de "Seguridad y redes" .. si planteas tu situación seguro que te darán alguna mejor alternativa. Un saludo, |
| |||
Si, si, en la intranet funciona ya que logra encontrar a servidor1, servidor2 y todos los servidores que puedan encontrarse en la intranet. El inconveniente ocurre con los clientes fuera de la intranet, los que se encuentran en la web. |