[GH-ISSUE #31] Websocket returns error through tunnel #28

Closed
opened 2026-03-02 23:01:51 +03:00 by kerem · 5 comments
Owner

Originally created by @jsmestad on GitHub (Nov 1, 2020).
Original GitHub issue: https://github.com/agrinman/tunnelto/issues/31

I had to switch back to ngrok for the time being as I cannot connect a websocket through the tunnel.

When trying to connect, the browser get's stuck throwing Invalid frame header while trying to connect. This is with a hello world Phoenix app that relies on LiveView if you need something to recreate it.

Let me know if I can help any more in tracking down the cause.

Originally created by @jsmestad on GitHub (Nov 1, 2020). Original GitHub issue: https://github.com/agrinman/tunnelto/issues/31 I had to switch back to ngrok for the time being as I cannot connect a websocket through the tunnel. When trying to connect, the browser get's stuck throwing `Invalid frame header` while trying to connect. This is with a hello world Phoenix app that relies on LiveView if you need something to recreate it. Let me know if I can help any more in tracking down the cause.
kerem 2026-03-02 23:01:51 +03:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@hirschenberger commented on GitHub (Nov 18, 2020):

Same issue here. Very sad.

<!-- gh-comment-id:729888954 --> @hirschenberger commented on GitHub (Nov 18, 2020): Same issue here. Very sad.
Author
Owner

@agrinman commented on GitHub (Nov 21, 2020):

Thanks for the bug report, will look into this

<!-- gh-comment-id:731604041 --> @agrinman commented on GitHub (Nov 21, 2020): Thanks for the bug report, will look into this
Author
Owner

@gzimh commented on GitHub (Jan 18, 2021):

I don't think this is realted to tunnelto. Inavlid frame header is usually a result of SSL mismatch.
The client request should be secured (e.g socket.io):

const socket = io.connect('https://<subdomian>.tunnelto.dev', {secure: true});

or, just use the http version of the generated tunnel:

const socket = io.connect('http://<subdomian>.tunnelto.dev');
<!-- gh-comment-id:762104850 --> @gzimh commented on GitHub (Jan 18, 2021): I don't think this is realted to tunnelto. Inavlid frame header is usually a result of SSL mismatch. The client request should be secured (e.g socket.io): ``` const socket = io.connect('https://<subdomian>.tunnelto.dev', {secure: true}); ``` or, just use the `http` version of the generated tunnel: ``` const socket = io.connect('http://<subdomian>.tunnelto.dev'); ```
Author
Owner

@agrinman commented on GitHub (Apr 26, 2021):

So yes it turns out this is something tunnelto needs to handle as it was previously not processing the WebSocket upgrade. #42 add supports for this and will be merged shortly...

<!-- gh-comment-id:826457443 --> @agrinman commented on GitHub (Apr 26, 2021): So yes it turns out this is something tunnelto needs to handle as it was previously not processing the WebSocket upgrade. #42 add supports for this and will be merged shortly...
Author
Owner

@agrinman commented on GitHub (May 1, 2021):

Fixed it 0.1.16!

<!-- gh-comment-id:830680325 --> @agrinman commented on GitHub (May 1, 2021): Fixed it 0.1.16!
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/tunnelto#28
No description provided.