caso de uso de apache

caso de uso de apache

Utilizo Apache para servir varios sitios al mundo en mi servidor doméstico en el puerto 443 usando un certificado SSL. Anoche instalé un binario de Linux que sirve a un sitio solo en un puerto definido a través de su archivo de configuración. No me es posible hacer que Apache sirva el sitio directamente.

Entonces este sitio está alojado enhttp://127.0.0.1:8081/pero me gustaría ocultarlo detrás de Apache sobre 443 para poder acceder a él a través dehttps://myserver.duckdns.org/webapp/

He probado esto hasta ahora en el archivo de configuración de mi sitio pero no ha funcionado:

ProxyRequests off
<Proxy *>
        allow from all
</Proxy>

RewriteEngine On
RewriteRule ^/(.*) /webapp/$1 [P]

<Location /webapp/>
        ProxyPass http://127.0.0.1:8081/
        ProxyPassReverse http://127.0.0.1:8081/
</Location>

¿Alguna idea de cómo puedo hacer esto?

Pensé que podría hacer esto usando ProxyPass y RewriteRules pero parece que no puedo hacerlo funcionar correctamente.

Muchas gracias de antemano!

Respuesta1

Sus reglas de reescritura a) tienen el objetivo incorrecto y 2) son redundantes.

RewriteRule with [P]está destinado a ser utilizado como unalternativaa ProxyPass, no junto con él. El destino de reescritura de una regla [P] sería la URL de la aplicación web remota, no una local. Por ejemplo, podrías usar esto:

RewriteRule ^/webapp/(.*) http://127.0.0.1:8081/$1 [P]

oeste:

ProxyPass /webapp/ http://127.0.0.1:8081/

oeste:

<Location /webapp/>
    ProxyPass http://127.0.0.1:8081/
</Location>

(Nota: la documentación de Apache recomienda utilizar ProxyPass siempre que sea posible).

Su <Proxy *>bloqueo también es innecesario, porque sólo se aplica aadelanteproxy, donde el cliente especifica el destino del proxy (que usted ha deshabilitado).

información relacionada