To allow access to my local smartMeterLogger I setup a virtual host energie.wasietsmet.nl.
This means setting up a reverse proxy for the websocket running on the smartMeterLogger.
First thing to do is to enable proxy_wstunnel
with a2enmod
.
Then set up the virtual host. See below how to.
Don’t forget to reload the settings in Apache2!
<VirtualHost *:80> ServerName energie.wasietsmet.nl ProxyRequests Off ProxyPreserveHost On ProxyPass / "http://192.168.0.107/" ProxyPassReverse / "http://192.168.0.107/" RewriteEngine on RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC] RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC] RewriteRule .* ws://192.168.0.107%{REQUEST_URI} [P] SetEnvIf Request_URI "^/events" dontlog SetEnvIf Request_URI "^/raw" dontlog CustomLog "|/usr/bin/rotatelogs /var/www/energie.wasietsmet.nl/log/access%d-%m-%Y 86400" vhost_combined env=!dontlog ErrorLog "|/usr/bin/rotatelogs /var/www/energie.wasietsmet.nl/log/error%d-%m-%Y 86400" </VirtualHost>
Links:
http://aripratech.com/reverse-proxy-websockets-with-apache-httpd-server/