reverso proxyrequest inverso configurar proxy playframework reverse-proxy

proxyrequest - No se pueden generar URL correctas para recursos estáticos con playframework cuando se usa Apache como Proxy



proxy inverso nginx (2)

A partir de play-1.2.2 hay una nueva propiedad de configuración en conf / application.conf llamada

http.path

En su ejemplo, intente configurarlo así:

http.path=/ch-cn

deberia de funcionar.

Utilizo un servidor Apache como proxy para mi aplicación playframework. El archivo de configuración del proxy es así:

> <VirtualHost *:80> > ProxyPreserveHost Off > ServerAdmin [email protected] > DocumentRoot "/home/admin/www" > ServerName viform.net > ErrorLog "logs/viform.net-error.log" > ProxyPass /zh-cn/ http://localhost:9000/ > ProxyPassReverse /zh-cn/ http://localhost:9000/ > </VirtualHost>

Cuando accedo a http://viform.net/zh-cn/signin , me muestra la página correcta. Pero las URL de recursos estáticos en la página no son correctas. El código de página html generado es así:

... <script type="text/javascript" src="/public/javascripts/base.js"> </script> <script type="text/javascript" src="/public/javascripts/secure/submitbutton.js"> </script> <script type="text/javascript" src="/public/javascripts/secure/signinpanel.js"> </script> ...

El navegador no puede encontrar estos recursos ya que sus rutas src deberían comenzar con "/ zh-cn". ¿Hay alguien que pueda ayudarme a resolver esto? Gracias.


Hay algunas publicaciones sobre este tema en Play Group, y hay otra pregunta sobre SO cómo usar "war.context" en el archivo de configuración de Play Framework. eso es similar

Si miras esta publicación en GoogleGroups , verás que la configuración esperada es para especificar el contexto en tu archivo de rutas. Por ejemplo..

%{ ctx = play.configuration.getProperty(''ctx'', '''') }% GET ${ctx}/ Application.index GET ${ctx}/hello Application.hello

Donde colocaría lo siguiente en su archivo conf de la aplicación.

ctx=zh-cn