Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.

...