Eu quero executar um site normal em mydomain.tld, mas o diretório mydomain.tld / ws deve redirecionar / proxy para o servidor de websocket local em execução em 127.0.0.1:8989.
Isso é o que eu consegui até agora:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName mydomain.tld
DocumentRoot /var/www/mydomain.tld/
ProxyPass /ws ws://127.0.0.1:8989/
ProxyPassReverse /ws ws://127.0.0.1:8989/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/mydomain.tld/>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.mydomain.tld.log
CustomLog ${APACHE_LOG_DIR}/access.mydomain.tld.log combined
</VirtualHost>
No entanto, o site normal funciona, mas não consigo me conectar a / ws, porque recebo o código de status 403 Forbidden, embora eu receba o cabeçalho de resposta HTTP correto X-Powered-By: Ratchet/0.3.4
, que é o servidor websocket.
Isso é do CustomLog combinado:
someip - - [15/Apr/2016:08:59:31 +0200] "GET /ws HTTP/1.1" 500 668 "-" "-"
Estou executando o Apache 2.4 no Ubuntu 14.04 - O que estou fazendo errado?
UPDATE
Apenas tentei adicionar um subdomínio, mas continua com o mesmo erro:
<VirtualHost *:80>
ServerName ws.mydomain.tld
ProxyPreserveHost On
ProxyRequests Off
ProxyPassReverse / ws://127.0.0.1:8989/
ProxyPass / ws://127.0.0.1:8989/
</VirtualHost>