Problema de POST do Apache httpd mod_proxy na página inicial, como abc.com

3

Eu tenho o servidor apache 2.4.18 no centos como um servidor web no front end. Agora eu tenho vários sites que são implantados no tomcat 8.0.33 como webapps na pasta webapps padrão do tomcat.

Configuração no final do apache:

<VirtualHost 1.2.3.4:80>
    ServerName abc.com
    ServerAlias www.abc.com

    ProxyPass / http://localhost:8079/abc/
    ProxyPassReverse / http://localhost:8079/abc/
</VirtualHost>

<VirtualHost 1.2.3.4:80>
    ServerName def.com
    ServerAlias www.def.com

    ProxyPass / http://localhost:8079/def/
    ProxyPassReverse / http://localhost:8079/def/
</VirtualHost>

Dois arquivos .war pelo nome, abc.war & def.war são implantados na pasta webapps do tomcat.

O abc.com funciona absolutamente bem, já que é apenas um site html.

mas o def.com é um site dinâmico & tem um formulário de login na página inicial. A home page após o login bem-sucedido deve carregar a página de perfil do usuário, que é: URL da página de login - > def.com página de perfil do usuário - > def.com/profile.htm

Observe que a página inicial é carregada com êxito (significa que GET está sendo executado com êxito) no navegador, mas quando o usuário tenta efetuar login (que é uma solicitação POST), de alguma forma ele tenta carregar: def.com/def/profile.htm

Observe também que, se eu alterar a configuração para:

<VirtualHost 1.2.3.4:80>
    ServerName def.com
    ServerAlias www.def.com

    ProxyPass /def/ http://localhost:8079/def/
    ProxyPassReverse /def/ http://localhost:8079/def/
</VirtualHost>

depois consigo abrir o def.com/def/ & Eu também posso conseguir acessar o & aberto def.com/profile.htm mas eu quero que minha home page esteja em def.com

    
por Ajayzz Attitudel 26.12.2016 / 14:05

1 resposta

0

Provavelmente, você precisa de uma diretiva adicionada para a página def, já que você mencionou que há uma página de login e provavelmente cookies, verifique como eles estão configurados no backend.

Meus pensamentos são que você pode precisar de algo como:

ProxyPassReverseCookiePath /  /def/

e talvez algo semelhante com ProxyPassReverseCookieDomain .

Revise os mod_proxy docs se não for para todas as opções que você tem

Este é um tópico interessante, por isso, se esta não for a sua solução, agradeceria se você adicionasse sua resposta assim que conseguir resolvê-la.

    
por 27.12.2016 / 14:30