-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add support for Websockets #499
Comments
The Capsule Proxy already supports websocket connections:
If you're facing issues I would ask you to share more details, as well as logs. The issue is going to be closed, happy to get it opened back if we have actually a bug. |
Kubectl does not use websockets. It uses spdy. There is ongoing work to migrate to websockets started in 1.30. I can share more details about my issue later today. |
You're right, just reopened that. We'll evaluate the support for WS once landed in GA, however, happy to receive contributions. |
WebSocket support has been in the api for a long time. Only recently are they phasing out spdy. I'm planning on trying to fix this myself, but all I'm going to try to do is reverse proxy the ws request. |
#57 will be closed since the implementation efforts are unbearable. Once WS are landing in stable mode, we'll find a viable solution, as well as planning a migration path. |
After some more testing, it looks like this already works with websockets. I haven't had an issue with this and v1.30 and v1.31 which default to websockets. My issue is due to how authorization is handled in the browser WebSocket API. My application uses WebSockets to get pod logs, exec, attach, etc... Due to API limitation you have to specify the auth bearer token as a protocol during WebSocket creation. The token is placed under "sec-websocket-protocol:" in the headers. Like so:
I'm opening a PR to add support for tokens specified like this. |
Describe the feature
Add support for reverse proxying websockets.
Expected behavior
When a client tries to open a websocket for something like exec or log, it should work.
The text was updated successfully, but these errors were encountered: