ItJustWorksTM / EiffelVis

Eiffel pipeline traffic visualization tool
Apache License 2.0
12 stars 3 forks source link

SSL corruption for loading frontend #143

Open Stronkness opened 1 year ago

Stronkness commented 1 year ago

This error is strange. When using your latest deployment without SSL it works like a charm with latest features and fast performance. This is what it looks like eiffelvis_no_ssl

However, when applying SSL to the project it appears to go back to a previous version somehow and bugs out. The tool is very slow, doesn't scroll properly and nodes freeze on screen when trying to zoom in and out. You can't move around with the mouse and no arrows appear connecting the nodes. eiffelvis_ssl

Are there issues with SSL for this project? Do I need to apply something special or enable something to make this work? I have valid certificates and eiffelvis is hosted at https if im using SSL. I also changed the nginx conf file a bit to properly work with SSL. This has worked previously in #102 but failed when we upgraded to the latest version #141

AeroStun commented 1 year ago

Just to make sure, have you tried this on a browser with the cache flushed, ideally in anonymous browsing? The issue sounds like a client-side caching behavior.

Stronkness commented 1 year ago

In incognito mode the new layout appears as the first image. But no nodes are showing. Same with a different browser i've never tested this before. However it gives an error in console:

Uncaught (in promise) DOMException: The operation is insecure. [bundle.js:2]

AeroStun commented 1 year ago

Did you build the frontend with EIFFELVIS_SSL = true in the Dockerfile's .env ? (default in Dockerfile is false)

AeroStun commented 1 year ago

I guess you didn't because our documentation does not mention the need to do that when doing non-manual deployment. I will update the documentation to clarify. (https://github.com/ItJustWorksTM/EiffelVis/pull/144)

Stronkness commented 1 year ago

I did a hard refresh in the browser and the new layout appeared with SSL enabled. And yes, I did build with EIFFELVIS_SSL = true. Do I also need to change anything in the Dockerfile?

Now this appears, not sure if this is due to a problem on my side or something is not compatible. Mixed Content: The page at 'https://eiffelvisURL' was loaded over HTTPS, but attempted to connect to the insecure WebSocket endpoint 'ws://eiffelvisURL/ws'. This request has been blocked; this endpoint must be available over WSS.

Uncaught (in promise) DOMException: Failed to construct 'WebSocket': An insecure WebSocket connection may not be initiated from a page loaded over HTTPS.

AeroStun commented 1 year ago

Just to clarify, you changed EIFFELVIS_SSL in the Dockerfile, not in the frontend/.env, correct?

Stronkness commented 1 year ago

I changed it in both of them. first i .env file and then in Dockerfile, now both are True

RuthgerD commented 1 year ago

Need to find some time to setup up ssl locally to test things out, unsure when though