...
Code Block |
---|
<VirtualHost *:443> ServerName example.opmantek.com SSLEngine on SSLProxyEngine On ProxyRequests Off SSLCertificateFile /etc/ssl/certs/example/cert.pem SSLCertificateKeyFile /etc/ssl/certs/example/privkey.pem SSLCertificateChainFile /etc/ssl/certs/example/fullchain.pem RequestHeader set X-Forwarded-Proto "https" # Proxy the websocket connection and rewrite the header ProxyPassMatch ^(\/(en|es)\/omk\/opEvents\/ws\/.*)$ ws://localhost:8042/$1 # Proxy the rest of the application RewriteEngine On ProxyPass RewriteCond %{REQUEST_URI} ^/en/omk http:/opEvents/localhost:8042/en/omkws/(.*) ProxyPassRewriteRule /es/omk http(.*) ws://localhost:8042/esen/omk/opEvents/ws/%1 [P,L] # Proxy the rest of the application ProxyPass /en/omk http://localhost:8042/en/omk ProxyPassReverse / ProxyPass /es/omk http://localhost:8042/es/omk ProxyPass /omk http://localhost:8042/omk ProxyPassReverse / http://localhost:8042/ ErrorDocument 503 '<html><head><meta http-equiv="refresh" content="60"></head><body><h1>Temporary Service Interruption</h1>The requested OMK page should be back soon. This page will automatically reload in 60 seconds.</body></html>' </VirtualHost> <VirtualHost *:80> ServerName example.opmantek.com Redirect 301 / https://example.opmantek.com/ </VirtualHost> |
If you receive a "server connection terminated before websocket handshake" response from the browser dev tools console with the above configuration for rhel/centos, then you need to handle the proxy as a rewrite rule , and then proxy that back to the webclient.
Code Block |
---|
replace: ProxyPassMatch ^(\/(en|es)\/omk\/opEvents\/ws\/.*)$ ws://localhost:8042/$1 With: RewriteEngine On <VirtualHost *:80> RewriteCond %{REQUEST_URI} ^/en/omk/opEvents/ws/(.*) ServerName example.opmantek.com Redirect RewriteRule301 /(.*) wshttps://localhost:8042/en/omk/opEvents/ws/%1 [P,L] example.opmantek.com/ </VirtualHost> |
Settings which you will need to modify from the example
...
This configuration is also to ensure you can proxy websocket connections for ubuntu 20.04 and over for ubuntu, Ubuntu does not support the required apache2 version needed for opevents realtime gui so if you wish to enable this feature and use Ubuntu you will need to follow these steps.
...