Estamos tentando fazer com que uma iRule do F5 BIG-IP LTM funcione corretamente com o SharePoint 2007 em uma função de terminação SSL. Essa arquitetura transfere todo o processamento SSL para a F5 e a F5 encaminha solicitações / respostas interativas para os servidores front-end do SharePoint somente por meio de HTTP (em uma rede segura).
Para os propósitos desta discussão, as iRules são analisadas por um mecanismo de interpretação Tcl no dispositivo B-IP da F5 Networks.
Assim, a F5 faz duas coisas para trafegar passando por ela:
- Redireciona qualquer solicitação para a porta 80 (HTTP) para a porta 443 (HTTPS) por meio de redirecionamentos HTTP 302 e regravação de URL.
- Reescreve qualquer resposta ao navegador para reescrever seletivamente URLs incorporadas no HTML para que eles acessem a porta 443 (HTTPS). Isso impede que os redirecionamentos 302 quebrem o DHTML gerado pelo SharePoint.
Temos a parte 1 funcionando bem.
O principal problema da parte 2 é que na reescrita da resposta devido a namespaces XML e outros problemas semelhantes, nem todas as correspondências para "http:" podem ser alteradas para "https:". Alguns têm que permanecer "http:". Além disso, algumas das URLs "http:" são difíceis, pois vivem no JavaScript gerado pelo SharePoint e suas barras (ou seja, "/") são representadas no HTML pela cadeia de seis caracteres UNICODE, "\ u002f". / p>
Por exemplo, no caso desses truques, a string literal no HTML de saída é:
http:\u002f\u002fservername.company.com\u002f
E deve ser alterado para:
https:\u002f\u002fservername.company.com\u002f
Atualmente, não conseguimos nem descobrir como obter uma correspondência em uma expressão de pesquisa / substituição nesses literais de sequência de seqüência UNICODE. Parece que não importa como nós o dividimos, o interpretador Tcl está interpretando a string "\ u002f" na tradução "/" antes de fazer qualquer outra coisa.
Nós tentamos várias combinações de métodos de escape Tcl que conhecemos (principalmente aspas duplas e usando um extra "\" para escapar do "\" na string UNICODE), mas estamos procurando por mais métodos, de preferência aqueles que funcionam .
Alguém tem alguma idéia ou alguma indicação de onde podemos efetivamente nos autoeducar sobre isso?
Muito obrigado antecipadamente.