Tengo un servidor web (llamémoslo C1) que ejecuta un servidor Apache/PHP y tiene un puerto reenviado para poder acceder a él desde cualquier lugar. Sin embargo, hay otra computadora dentro de la LAN del servidor web que también tiene un servidor Apache (llamémoslo C2). No puedo cambiar el reenvío de puertos ni puedo cambiar el servidor Apache (también conocido como instalar módulos personalizados).
¿Hay alguna manera de acceder a C2 dentro de un directorio de C1? (por ejemplo, ir a www.website.org/random_dir me permitirá explorar la raíz del servidor Apache C2).
Estoy tratando de cambiar lo menos posible la configuración/otros (por ejemplo, activar módulos, etc.)
¿Existe una posible solución?
Respuesta1
Puede colocar un script en C1 que reenvíe sus solicitudes a C2 y presente sus respuestas. Esto se puede lograr utilizando servidores proxy web.
Intenta instalarKnProxyoproxy-phpcomo primer paso y ver si alguno de ellos se ajusta a tus necesidades.
Usando el proxy, recuerde llamar a C2 por su ip interna (que es visible para C1).
Respuesta2
Puede colocar una secuencia de comandos en la carpeta en C1 que use curl para obtener la información de C2. Al nombrarlo index.php cuando visite www.website.org/random_dir obtendrá su comportamiento.
Sin embargo, para acceder a otros archivos o carpetas, deberá pasarlos como variables como: www.website.org/random_dir?folder=another_folder/subfolder&file=my_file
¿Esa solución se adaptaría a sus necesidades?
Respuesta3
El proxy inverso es el nombre de lo que estás intentando hacer. Apache lo admite.
El proxy inverso es donde un servidor web reenvía una solicitud HTTP o URL a un segundo servidor web (posiblemente modificándolo en el camino), recopila la respuesta de ese segundo servidor web y entrega el resultado (posiblemente modificando el resultado en el camino de regreso).
Estees un buen lugar para empezar. Actualizaré esta respuesta con algunos ejemplos cuando tenga tiempo.
Le advertiré sobre esto: el proxy inverso funciona excelentemente para contenido estático y contenido donde la URL de la página no está "codificada" en ningún enlace de contenido dinámico o generado por Javascript. Cuando tiene una aplicación web, o una aplicación con su propio servidor web integrado (piense en el acceso remoto de Subsonic o uTorrent), a veces puede encontrarse en una situación en la que los enlaces que genera la aplicación web apuntan a una ubicación diferente a la que se encuentra. proxy inverso a. Aquí es donde entran en juego los módulos de reescritura y puede resultar complicado. No todas las aplicaciones web se pueden utilizar mediante proxy inverso con éxito.