Git Product home page Git Product logo

Comments (15)

sergeyfrolov avatar sergeyfrolov commented on September 14, 2024 2

@angristan I'd like to eventually get to this, but haven't been able to find the time yet.

I tried to reproduce it again, and it seems that speedtest.net no longer uses ws for latency test, and does not fail for me over forwardproxy. Furthermore, I found another ws test: http://demos.kaazing.com/echo/index.html and it seems to work fine for me.
So, I am unable to reproduce this issue anymore. Are you able to reproduce the issue @angristan @hangim ?

from forwardproxy.

sergeyfrolov avatar sergeyfrolov commented on September 14, 2024 1

ERR_NOT_IMPLEMENTED seems to be chromium bug https://bugs.chromium.org/p/chromium/issues/detail?id=684681

from forwardproxy.

hangim avatar hangim commented on September 14, 2024 1

I just now do some little test.

In Chrome, without this plugin, ws and wss both works fine.

In Chrome, use this plugin, ws meet ERR_NOT_IMPLEMENTED problem, can't work. And wss works fine, as before mentioned.

In Firefox, use this plugin, everything works fine.


So the conclusion is maybe there some bug in Chrome?
I am not sure about this, I don't spend time to investigate ERR_NOT_IMPLEMENTED.

from forwardproxy.

sergeyfrolov avatar sergeyfrolov commented on September 14, 2024

Interesting. HTTP/2 proxy is supposed to be indifferent to target protocol, be it ws, wss, as the client is expected to just send standard CONNECT in both cases and then proceed with actual protocol.
Do you have any logs from the forwardproxy indicating what your client sends?

from forwardproxy.

hangim avatar hangim commented on September 14, 2024

How can I get these logs?
I try to start caddy with -log=stdout, but the log is too less to solve this problem.

from forwardproxy.

sergeyfrolov avatar sergeyfrolov commented on September 14, 2024

I believe adding log {request} {response} to Caddyfile should do the trick

from forwardproxy.

hangim avatar hangim commented on September 14, 2024

For ws, cant work

***.***.***.*** - - [27/Jun/2018:03:35:18 +0000] "CONNECT / HTTP/2.0" 200 181

CONNECT echo.websocket.org:80 HTTP/2.0\r\nHost: echo.websocket.org:80\r\nProxy-Authorization: Basic ***password for basicauth***\r\nUser-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36\r\n\r\n -

For wss, work normal

***.***.***.*** - - [27/Jun/2018:03:35:55 +0000] "CONNECT / HTTP/2.0" 200 7903

CONNECT echo.websocket.org:443 HTTP/2.0\r\nHost: echo.websocket.org:443\r\nProxy-Authorization: Basic ***password for basicauth***\r\nUser-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36\r\n\r\n -

View in Chrome Network
desktop screenshot

Seems like some unexpected truncated, make the Chrome still wait for the response.

from forwardproxy.

sergeyfrolov avatar sergeyfrolov commented on September 14, 2024

Thanks, that's a very good report!
So, client with both ws and wss just sends CONNECT and receives 200 (success) response, indicating successful establishment of connection between client and ws/wss port. What happens next and why it gets truncated afterwards is unclear. Seemingly, it follows with HTTP ws handshake (-> Connection: Upgrade) (<- Ok, sure, let's upgrade) and some side closes.
Unfortunately, I don't have time to dig into this right now, perhaps later in the summer.

from forwardproxy.

hangim avatar hangim commented on September 14, 2024

Thanks for your attention.
BTW, I found this problem when I visit http://www.speedtest.net/, which use ws for latency test.
Maybe this information can help you debug.

from forwardproxy.

angristan avatar angristan commented on September 14, 2024

👋 hey @sergeyfrolov is this is your roadmap?

from forwardproxy.

hangim avatar hangim commented on September 14, 2024

@sergeyfrolov
Time flies, my second summer vacation almost end, LOL.
I haven't used this since last comment, maybe I will test it this weekend? If I don't forget it, procrastination is terrible.

from forwardproxy.

angristan avatar angristan commented on September 14, 2024

So this is a bit weird, http://demos.kaazing.com/echo/index.html seems to work:

Screenshot from 2019-08-23 14-50-25

However I get this error:

Screenshot from 2019-08-23 14-50-33

On Mastodon, which uses websockets for the streaming API (the timelines), I get many of these:

Screenshot from 2019-08-23 14-53-10

But it's not 100% broken. it seems there is a sever delay, sometimes the timelines will scroll sometimes they won't... 🤔

from forwardproxy.

angristan avatar angristan commented on September 14, 2024

In Firefox, websockets are fully working indeed...

from forwardproxy.

sergeyfrolov avatar sergeyfrolov commented on September 14, 2024

it seems there is a sever delay, sometimes the timelines will scroll sometimes they won't

Do you still see delays when you visit mastodon via forwardproxy using Firefox? I have a suspicion that the delay might be a separate issue, not caused by the Chromium bug.

from forwardproxy.

angristan avatar angristan commented on September 14, 2024

No, I don't see any delay.

from forwardproxy.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.