Estou lutando com o proxy reverso de um aplicativo em execução em um servidor Tomcat em uma porta fechada atrás do Apache. Por conveniência, digamos que eu queira reverter as solicitações de proxy para o link 'no aplicativo Tomcat em' link 'no servidor remoto. Tudo funciona bem com as seguintes configurações de proxy em um arquivo Apache vhost.conf:
ProxyRequests off
ProxyPass /apps/ http://localhost:8082/
ProxyPassReverse /apps/ http://localhost:8082/
Exceto por uma parte do aplicativo, que gera um arquivo de início da Web Java que deve ser executado no cliente e precisa fazer uma conexão com o aplicativo Tomcat em ' link '(no servidor remoto).
O ponto crucial do problema é que essa conexão obviamente não funcionará, já que a) o pedido de localhost será interpretado em relação ao computador cliente, eb) mesmo que aponte para o servidor remoto, a porta 8082 está fechada lá.
Por isso, descobri como o ProxyPreserveHost pode ajudar, de modo que o nome do host da solicitação original seja propagado para a solicitação de início na Web do Java:
ProxyRequests off
ProxyPreserveHost on
ProxyPass /apps/ http://localhost:8082/
ProxyPassReverse /apps/ http://mydomain/
Isso funciona (até mesmo os redirecionamentos internos no trabalho do aplicativo Tomcat com proxy por cortesia da configuração ProxyPassReverse) ... quase. Um problema permanece: a URL usada pelo arquivo webstart do Java está sem a parte '/ apps /' e tentará se conectar ao ' link ', em vez de' link ', que obviamente falhará, pois somente as solicitações iniciadas com / apps / são convertidas em proxy. Aparentemente, o aplicativo com proxy não "vê" o URL original completo (" link '), mas apenas a parte filtrada pelo Manipulação de proxy (' link ').
Existe alguma configuração de proxy que eu esqueci que pode fazer o Apache passar no caminho do URL original para o aplicativo com proxy?
Atenciosamente,
Ron