Skip to content

Proxy command doesn't handle websockets #31

Open
@greenled

Description

@greenled

Describe the bug
When using PSU as a proxy to an endpoint's Docker daemon, commands requiring a websocket connection (like docker attach, docker exec, docker system events) fail with an unable to upgrade to tcp, received 200 error or just hang up.

To Reproduce
Given:

  • There is a "primary" endpoint
  • There is a "backend" container running on that endpoint
  • There is a Docker client installed locally

Steps to reproduce the behavior:

  1. Run psu proxy --endpoint primary --port 12345
  2. In another shell, run export DOCKER_HOST=tcp://localhost:12345
  3. Run docker exec backend echo "hello"
  4. See error

Expected behavior
PSU should correctly proxy the request by handling the protocol upgrade

Standard/Error output

unable to upgrade to tcp, received 200

Standalone executable binary (please complete the following information):

  • OS: Linux
  • Shell interpreter: Bash
  • Portainer version: 1.21.0
  • Program version: 2.0.0-alpha.3

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions