Hello everybody,
I have a problem making rocketchat app mobile working.
I set up an apache reverse proxy to access rocket chat from outside.
It is working fine on the web with mycompany (my rocketchat server)
But doesn’t work with mobile apps, i get “websocket is disabled…”
I use a let’s encrypt certificate, below is my apache conf on the reverse proxy :
<VirtualHost :80>
ServerName mycompany
RedirectMatch ^/ urlmycompany/
<VirtualHost *:443>
ServerAdmin admins@mycompany
ServerName mycompany
SSLEngine on
#SSLCertificateFile /etc/letsencrypt/live/mycompany/cert.pem
## rocketchat pour certains mobiles necessite la chaine de certificat complete
SSLCertificateFile /etc/letsencrypt/live/mycompany/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mycompany/privkey.pem
SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN Off
SSLProxyCheckPeerName Off
SSLProxyCheckPeerExpire off
LoadModule remoteip_module modules/mod_remoteip.so
RemoteIPHeader X-Forwarded-For
RequestHeader set Host "mycompany"
RequestHeader set X-Forwarded-Port "443"
RequestHeader set X-Forwarded-Proto "https"
ProxyPreserveHost On
ProxyRequests off
ProxyVia on
ProxyPass "/" "urlmycompany/" retry=0 timeout=10
ProxyPassReverse "/" "urlmycompany/"
CustomLog ${APACHE_LOG_DIR}/access.log combined
ErrorLog ${APACHE_LOG_DIR}/error.log
here is my internal conf, which works fine even with an app mobile :
<VirtualHost *:443>
ServerName mycompany
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder On
SSLCompression off
SSLCertificateFile /etc/apache2/ssl/mycert.pem
SSLCertificateKeyFile /etc/apache2/ssl/mykey.pem
#on lan, so ignore just like with nginx
SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
Header unset X-Frame-Options
Header unset Access-Control-Allow-Origin
#urldocs.rocket.chat/installation/manual-installation/configuring-ssl-reverse-proxy
RewriteEngine On
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule /(.) ws://localhost:3000/$1 [P,L]
RewriteCond %{HTTP:Upgrade} !=websocket [NC]
RewriteRule /(.) http://localhost:3000/$1 [P,L]
ProxyPassReverse / http://localhost:3000/
i tried adding these 2 lines:
ProxyPass / ws://mycompany/
ProxyPassReverse / ws://mycompany/
but doesn’t work.
any help is welcome, thank you !