O proxy do Apache não está funcionando para response.sendredirect

2

Sou muito novo no apache ... preciso de ajuda sobre o assunto. URL acessível publicamente: httpx: //testsite.com. Este site é BigIp..que tem membro como localserver.com:21211.Então, qualquer solicitação para testsite.com irá para localserver.com:21211

Estou usando o servidor da web do apache (https) e tenho um aplicativo tomcat interno (executando https) sendo executado no mesmo host.

Então, o fluxo é == > httpx: //testsite.com == > apache (https) == > Aplicativo interno do Tomcat (https)

O aplicativo Tomcat usa 2 servlets (primeiro um Servlet1 e depois vai para o Servlet2) e permanece lá para a sessão restante

do servlet1 ao servlet2 ele faz um response.sendRedirect (jsp); Onde jsp = ../../ wsc / Servlet2? cmd = currentEnv & wscUser = ***** & wscEnv = D2 & clientId = **** & wsc_SESSION_ID = -683682815967505906_1452611560873

so..with a configuração atual..Eu não fui capaz de ir para servlet2..Ele sempre falha no Servlet1 com erro 404, dando este caminho no log == > httpx: //testsite.com/wsc/Servlet1? clientId = **** & wscEnv = D2 & ApplCode = wsc

Eu posso ver que wsc_SESSION_ID está sendo criado no log do aplicativo ... mas não está sendo encaminhado Servlet2

Aqui está o fluxo:

  1. Qualquer que seja o pedido, acesse httpx: //testsite.com e redirecione-o para httpx: //localserver.fmr.com: 21211 / wsc / Servlet1

  2. Após o redirecionamento, o usuário será validado por meio do siteminder para logon único (isso funciona bem)

  3. Em seguida, todas as solicitações subsequentes devem ser encaminhadas para httpx: //localserver.com: 21201 / wsc / Servlet1 (posteriormente, ele é redirecionado para o Servlet2)

Os contextos de aplicativos são httpx: //localserver.com: 21201 / wsc / Servlet1 e httpx: //localserver.com: 21201 / wsc / Servlet2

Alguém pode me ajudar em como conseguir isso? você pode ver muitos comandos desnecessários ... mas isso porque eu estava tentando coisas diferentes ..

Nota: usei https como httpx na descrição do meu problema, pois não era permitido colocar muitos URLs na pergunta. Desculpe por isso

Apresentar configuração:

<VirtualHost localhostname.com:21211>
    DocumentRoot "/apps/ers/servers/dev_ers/htdocs"
    ServerName localserver.com:21211
    ServerAdmin [email protected]
    LogLevel debug
    ErrorLog logs/https_error.log
    TransferLog logs/https_access.log

    SSLEngine on

    SSLProtocol all -SSLv2 -SSLv3
    SSLProxyEngine On
    SSLProxyCheckPeerCN off
    SSLProxyProtocol +TLSv1
    SSLProxyVerify none
    SSLProxyCipherSuite ALL:!EDH:!DHE:!ECDHE:!ECDH:!ADH:RC4+RSA:!EDH:+HIGH:+MEDIUM:+LOW:!SSLv2:!3DES:!DES:+EXP

    ProxyPass / https://localhostname.com:21201/
    ProxyPassReverse / https://localhostname.com:21201/
    ProxyPreserveHost Off

    RewriteEngine On
    RewriteRule ^/$  https://localhostname.com:21211/wsc/Servlet1  [R]


    SSLCertificateFile    ssl/dev_ers.crt
    SSLCertificateKeyFile ssl/dev_ers.key
    # SSLCACertificateFile /apps/ers/tools/ssl/ca-bundle.crt

    SetEnvIf User-Agent ".*MSIE.*" ssl-unclean-shutdown
    CustomLog logs/https_cipher.log "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>
    
por Bala 13.01.2016 / 00:00

0 respostas

Tags