Working fine via public IP address, but problems with DNS

I have a Streamlit app running in a docker container on an EC2 instance.

When I point my browser at the instanceā€™s public IP address, everything works great.

But when I access the app via the URL of the DNS record I created, the page loads but it looks like websockets arenā€™t working:

main.25d88faa.chunk.js:1 WebSocket connection to 'ws://grocery-demo.davidchudzicki.com/stream' failed: Error during WebSocket handshake: Unexpected response code: 403

WebSocket connection to 'ws://grocery-demo.davidchudzicki.com/stream' failed: WebSocket is closed before the connection is established.

Anyone have advice?

1 Like

Hey @dchudz ,

It looks like a CORS problem, did you try configuring browser.serverAddress with your url ? or even disabling CORS using server.enableCORS ?

2 Likes

Thatā€™s definitely the problem. Thank you!

Glad that you managed to figure it out, @dchudz. I have a question, and I hope you donā€™t mind, and please accept my apology for jumping in.

How did you manage to hide the port part in your URL? Or is just listening to port 80, hence itā€™s not visible?

Thanks in advance!

@mzeidhassan sorry, I donā€™t remember exactly what I was doing when I posted this ā€“ Streamlit was running on port 5000, and there was some mapping between ports in the AWS settings.

Later I used the approach from this tutorial, hosting on Heroku with port = $PORT in Streamlitā€™s config (apparently $PORT is an environment variable Heroku uses to tell you what part it will send requests too).

1 Like

Thanks @dchudz for taking the time to get back to me. I appreciate it.

I tried both the options, disabling CORS and specifying browserAddress but still Iā€™m receving ā€˜Connection n Timed outā€™ message.

I have encountered the same issue here. It keeps showing ā€œplease waitā€ and ā€œconnection timed outā€.

I have tried disabling CORS and disabling enableWebsocketCompression. But none worked.

Appreciate if anyone can advise on the solution.

I am having the same issue using azure web app to host the site, i have set

[server]

port = 80

enableCORS = false

but still get

Uncaught Error: Unsupported state transition.
State: PINGING_SERVER
Event: CONNECTION_TIMED_OUT
at e.value (main.069212a9.chunk.js:2)
at main.069212a9.chunk.js:2

Can anyone help please?

Thanks

I am also having this issue.