I am attempting to get neovis.js running on my hosted website, which runs linux redhat, and am encountering problems with the websocket connection used by bolt. If I use http I have no problem and am able to visualize my test graph successfully. When I use https I get the following error:
Neo4j driver is configured to use insecure WebSocket on a HTTPS web page. WebSockets might not work in a mixed content environment. Please consider configuring driver to use encryption.
I am able to eliminate this error by adding this to my NeoVis config variable: encrypted: "ENCRYPTION_ON", trust: "TRUST_ALL_CERTIFICATES",
but then I get:
WebSocket connection to 'wss://126.96.36.199:34764/' failed: Error in connection establishment: net::ERR_CERT_AUTHORITY_INVALID
(As you can perhaps tell from the websocket url I am connecting to one of my neo4j sandbox databases. If I connect to my locally hosted neo4j database, I get basically the same behavior as when I connect to the sandbox db.)
However, my certificate, which was issued by Let's Encrypt, appears valid (as you can see here: OnTheBlockchain.com), according to 4 different browsers (edge on windows and chrome, firefox and safari on mac). Am I missing something about how certificates work? Is it possible that the certificate doesn't work for the bolt port (34764 for the sandbox, 7687 on my localhost) and I need to change to a new port (which I have tried without success)? Or do I need to buy a new certificate that is good for secure websocket connections?