Reescrevendo para https sem um certificado?

2

Nosso ambiente é o seguinte:

HLB (Ace) - > servidores Apache redundantes - > Servidores Websphere de backend

Tráfego seguro que entra no balanceador de carga, onde o certificado SSL é descriptografado. A solicitação é então encaminhada para um dos dois servidores da Web do Apache. O Apache, em seguida, encaminha a solicitação para o servidor apropriado do Websphere Application, se necessário. O Websphere responde de volta ao cliente pelo mesmo caminho.

Nosso grupo de rede está nos dizendo que o SSL não deve ser instalado nos servidores da Web, pois os impede de rastrear pacotes.

Para o nosso aplicativo escrito em casa, estamos redirecionando relativamente quando um URL é redirecionado, ele fica HTTPS externamente como. No entanto, temos um produto comprado que processa e envia um redirecionamento absoluto de volta ao cliente como um HTTP. Acreditamos que isso acontece porque o apache recebe a solicitação não criptografada.

Estamos tentando encontrar uma maneira de o apache reescrever o protocolo para https para o aplicativo no Websphere (o aplicativo é o Vignette Portal)

Eu tentei um simples

<Location /LocationINeed>
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</Location>

mas isso não funcionou. De acordo com o que eu li este absoluto força um redirecionamento direto para o cliente e acaba criando um loop.

Sou um administrador do apache inexperiente, e passei o dia pesquisando na web procurando MOD_substitutem e mod_rewrite, mas todas as minhas tentativas ficaram aquém.

Se você encontrou isso, adoraria saber como você resolveu o problema.

    
por ttheobald 13.01.2012 / 23:57

1 resposta

2

Se houver alguns links absolutos nas páginas atendidas pelo seu aplicativo que usam http:// para apontar para si mesmo, será necessário corrigir o aplicativo.

Se for apenas sobre os Location cabeçalhos, você pode tentar uma abordagem semelhante a : use mod_headers e use uma regra ao longo destas linhas:

Header edit Location ^http://www.example.com/hudson/ https://www.example.com/hudson/

EDITAR:

Um pouco do motivo pelo qual isso acontece: a razão pela qual isso é um problema com cabeçalhos HTTP Location e não com links relativos dentro de uma página é que o cabeçalho Location sempre requer um URI absoluto, de acordo com a especificação :

[...] The field value consists of a single absolute URI.

   Location       = "Location" ":" absoluteURI

(Para ser honesto, acho que alguns navegadores podem entender um URI relativo e interpretá-lo como relativo ao pedido inicial que eles enviaram. Entretanto, isso estaria fora de especificação e algumas ferramentas / navegadores não isso.)

    
por 14.01.2012 / 00:11