Eu acho que você deveria
location /context/ {
proxy_pass http://backend/context/;
}
e, em seguida, use a reescrita para separar / parte do contexto da URL
Eu originalmente fiz esta pergunta sobre SO , mas talvez SF seja um lugar melhor para a tração nessa questão.
Estou tendo este problema com o GWT quando ele está por trás de um proxy reverso. O aplicativo de backend é implantado dentro de um contexto - vamos chamá-lo / contexto.
O aplicativo GWT funciona bem quando eu o clico diretamente:
Eu posso configurar um proxy reverso na frente dele. Aqui está o meu exemplo nginx:
upstream backend { server 127.0.0.1:8080; } ... location / { proxy_pass http://backend/context/; }
Mas, quando percorro o proxy reverso, o GWT fica confuso, dizendo:
2009-10-04 14:05:41.140:/:WARN: Login: ERROR: The serialization policy file '/C7F5ECA5E3C10B453290DE47D3BE0F0E.gwt.rpc' was not found; did you forget to include it in this deployment? 2009-10-04 14:05:41.140:/:WARN: Login: WARNING: Failed to get the SerializationPolicy 'C7F5ECA5E3C10B453290DE47D3BE0F0E' for module 'https://hostname:444/'; a legacy, 1.3.3 compatible, serialization policy will be used. You may experience SerializationExceptions as a result. 2009-10-04 14:05:41.292:/:WARN: StoryService: ERROR: The serialization policy file '/0445C2D48AEF2FB8CB70C4D4A7849D88.gwt.rpc' was not found; did you forget to include it in this deployment? 2009-10-04 14:05:41.292:/:WARN: StoryService: WARNING: Failed to get the SerializationPolicy '0445C2D48AEF2FB8CB70C4D4A7849D88' for module 'https://hostname:444/'; a legacy, 1.3.3 compatible, serialization policy will be used. You may experience SerializationExceptions as a result.
Em outras palavras, o GWT não está recebendo a palavra que precisa para prefixar / context / e, em seguida, procurar por C7F5ECA5E3C10B453290DE47D3BE0F0E.gwt.rpc, mas somente quando a solicitação vier através do proxy. Uma solução alternativa é adicionar o contexto ao URL do site:
location /context/ { proxy_pass http://backend/context/; }
mas isso significa que o contexto agora faz parte da URL que o usuário vê, e isso é feio.
Alguém sabe como tornar o GWT feliz nesse caso?
Versões de software:
GWT - 1.7.0 (mesmo problema com 1.7.1)
Jetty - 6.1.21 (mas o mesmo problema existia em tomcat)
nginx - 0.7.62 (mesmo problema no apache 2.x)
Tags nginx reverse-proxy apache-2.2 gwt