Eu implantei um aplicativo Meteor em uma gota do DO usando o MeteorUp. Eu configurei os Hosts Virtuais do Apache para este site assim:
<VirtualHost *:80>
ServerName filipe-garcia.com
ServerAlias www.filipe-garcia.com
ServerAdmin [email protected]
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/sockjs/ [NC]
RewriteCond %{QUERY_STRING} transport=websocket [NC]
RewriteRule /sockjs/ ws://localhost:3000/$1 [P,L]
ProxyPreserveHost On
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
</VirtualHost>
Mas ainda estou recebendo um
WebSocket connection to
'ws://filipe-garcia.com/sockjs/622/9hwpvs81/websocket' failed: Error
during WebSocket handshake: Unexpected response code: 400
erro no meu console.
Eu pesquisei isso e encontrei uma infinidade de soluções (na maioria variações deste mesmo VHosts), sem sucesso em nenhum.
Tudo parece estar funcionando perfeitamente, exceto por esse erro (que eu ainda não senti nada por causa disso, porque este aplicativo não está contando com websockets ainda).
Não sei como devo corrigir isso. Estou executando o Apache 2.4.7 no Ubuntu 32bits e tenho proxy, proxy_connect, proxy_http, proxy_wstunnel ativado.
EDIT : Deve ter algo a ver com a maneira como o proxy está configurado, porque se eu apontar meu navegador para a máquina e a porta estiver rodando diretamente, esse erro não acontece. / p>
Como uma minúscula questão bônus , usando um servidor nodejs, devo remover a linha DocumentRoot do arquivo ou apenas deixá-la lá?
Obrigado.