tl; dr Estou tendo problemas para fazer com que o TMG inverta corretamente uma conexão HTTPS no proxy, para uma conexão HTTP no interior.
Temos uma LAN (10.0.7.0/24) que hospeda uma caixa do Windows Server 2008, com o Spiceworks instalado. O Spiceworks usa o Apache e é configurado para servir HTTP e HTTPS. Contanto que você navegue pela LAN, isso funciona, sem problemas.
Também temos uma DMZ (172.32.16.0/24) que hospeda um servidor do Forefront TMG, que tem acesso à LAN e à Internet. Então, o que tentamos configurar é uma regra de proxy reverso, que permitiria aos usuários acessar a instância do Spiceworks da Internet.
Para HTTP, ele funciona perfeitamente - o tráfego passa pelo TMG e é retransmitido para o servidor Apache, groovy. Para HTTPS, não tanto. O TMG estabelece a conexão usando o certificado do lado, mas não consegue se conectar ao servidor Apache por HTTPS e morre com um erro de tempo limite.
Não acho que seja um problema de rede, pois o HTTP funciona bem. Não é um problema HTTPS com o Spiceworks, já que navegar na LAN funciona bem. Eu suspeito que o TMG está tendo problemas para validar o certificado que estamos usando no servidor Apache, e é por isso que recebo um erro HTTP 500 "O token fornecido para a função é inválido".
O certificado que o TMG está usando é o mesmo certificado que está no servidor do Spiceworks (um certificado curinga do GoDaddy) - poderia ter algo a ver com isso? Não podemos substituir o certificado como é usado em vários lugares, portanto, se houver uma solução alternativa ou uma configuração de TMG que eu possa alterar, isso seria perfeito.
Minha outra opção era fazer o TMG fazer o proxy link no lado de fora para link por dentro, e contornar completamente o problema SSL, mas também não há dados - a TMG se recusa a reescrever a URL dessa maneira.