Dica #23 — TSplus Remote Access

Você pode configurar o Apache como instância intermediária de SSL e servidor web com funcionalidade de proxy reverso. Neste cenário, o Apache será a primeira instância na cadeia antes do HTML5.

Importante: O Apache é software de terceiros e não podemos garantir que seu proxy reverso atenderá todos os requisitos. É preferível que o HTML5 seja a primeira instância e funcione como proxy reverso. Use este cenário apenas quando o HTML5 não puder ser a primeira instância no seu ambiente de rede.

Configuração

  1. Localize www\software\html5\settings.js
  2. Certifique-se de que W.xhrreverse = false;
  3. Instale Apache 2.2+ com suporte a proxy_wstunnel. Versões antigas não suportam WebSockets (nesse caso, defina W.xhrreverse = true; para modo de compatibilidade xhr lento).
  4. Habilite os módulos no Apache (httpd.conf):
    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_http_module modules/mod_proxy_http.so
    LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
  5. Para acessar o portal HTML5 via subpasta /html5/ com servidor HTML5 na intranet em intranetxyz:
    ProxyPass /html5 http://intranetxyz:80
    ProxyPassReverse /html5 http://intranetxyz:80
    
    <Location "/html5/socket.io/websocket_https">
      ProxyPass "ws://intranetxyz:80/socket.io/websocket_https"
    </Location>
    
    <Location "/html5/socket.io/websocket">
      ProxyPass "ws://intranetxyz:80/socket.io/websocket"
    </Location>
    
    <Location "/html5/socket.io/flashsocket_https">
      ProxyPass "ws://intranetxyz:80/socket.io/flashsocket_https"
    </Location>
    
    <Location "/html5/socket.io/flashsocket">
      ProxyPass "ws://intranetxyz:80/socket.io/flashsocket"
    </Location>
  6. Reinicie o Apache.

Se o Apache rodar no mesmo servidor que o HTML5, configure portas diferentes para o HTML5 (ex: 808 e 4433) para evitar conflitos.

Observação: O proxy reverso WebSockets do Apache não funciona em conjunto com o encaminhamento de proxy reverso HTML5 /~~***. Para cada regra /~~*** no balance.bin, é necessário adicionar uma regra extra no Apache.