Skip to content

Proxy command doesn't handle websockets #31

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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