2 votos

Apache: Utilice RewriteRule como proxy de ordenación

Estoy tratando de host de mi front-end en algunos hosting compartido solución, pero se enfrentan a algunos problemas con eso.
Nota: Esto no supone que sea la definitiva solución de hosting, pero me gustaría ser capaz de poner a prueba las cosas más accuratetly de esa manera.

Mi front-end de las necesidades de acceder a algunas de las API ubicado en un servidor diferente. Para la comodidad de autenticación (y le gusta), me gustaría proxy mis solicitudes a la API para el servidor back-end.
Sin embargo, en un entorno de alojamiento compartido limita mis opciones :

  • No puedo modificar el VirtualHost configuración
  • mod_proxy parece estar deshabilitado, por lo que no ProxyPass o ProxyPassReverse permitido
  • mod_rewrite parece ser habilitado

Pensé acerca del uso de
RewriteRule ^/api/(.*)$ https://example.com/$1
como una proxy de las clases, pero me temo que esto no va a funcionar como la intención de...

Estoy abierto a cualquier sugerencia y "no hagas esto!"

2voto

DocRoot Puntos 115

Usted no puede crear un proxy de Apache sin mod_proxy. El P indicador que puede ser utilizado con mod_rewrite (en RewriteRule directiva) utiliza mod_proxy.

RewriteRule ^/api/(.*)$ https://example.com/$1

Presumiblemente, se limita a .htaccess, en cuyo caso la anterior RewriteRule patrón (con una barra de prefijo) nunca coincidencia de todos modos, por lo que la directiva no hacer nada. Sin embargo, incluso después de corregir el patrón, cuando se especifica una dirección URL absoluta en RewriteRule de sustitución se implícitamente trigger externo de redirección 302 (a menos que la solicitud se envía a través de mod_proxy) - que deduzco que no es lo que usted requiere.

Sólo puedo sugerir que quizás administrar esta "proxy" con el código del lado del servidor en su lugar. Por ejemplo, usted podría usar CURL para "proxy" de la solicitud?

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: