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.

same
works on ip address, but not domain name