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