Skip to content

fix: use actual daemon URL for proxy lookup in SSH connections#7054

Open
vigneshakaviki wants to merge 1 commit into
docker:masterfrom
vigneshakaviki:fix/proxy-daemon-url
Open

fix: use actual daemon URL for proxy lookup in SSH connections#7054
vigneshakaviki wants to merge 1 commit into
docker:masterfrom
vigneshakaviki:fix/proxy-daemon-url

Conversation

@vigneshakaviki

Copy link
Copy Markdown

Problem

When configuring proxies in ~/.docker/config.json, users had to use a hardcoded dummy host http://docker.example.com because SSH connections used this dummy URL instead of the actual daemon URL.

Example that used to fail:

{
  "proxies": {
    "ssh://user@host.com": {
      "httpProxy": "http://proxy.example.com:3128"
    }
  }
}

Users had to work around this by configuring proxies with the dummy host:

{
  "proxies": {
    "http://docker.example.com": {
      "httpProxy": "http://proxy.example.com:3128"
    }
  }
}

Solution

Use the actual daemon URL from the endpoint configuration instead of the hardcoded http://docker.example.com.

Now users can configure proxies with their actual SSH endpoint URLs:

{
  "proxies": {
    "ssh://user@host.com": {
      "httpProxy": "http://proxy.example.com:3128"
    }
  }
}

Changes

  • Modified SSH connection helper to use the actual daemonURL for the Host field
  • Added clarifying comment for command connection helper (which still uses a default since we don't have endpoint information)

The fix is minimal and only affects SSH connections, allowing proxy lookup to work with the actual configured endpoint URLs.

Fixes: #7046

Previously, SSH connections used a hardcoded dummy host 'http://docker.example.com'
for the ConnectionHelper, which meant proxy configuration had to use this dummy
URL instead of the actual daemon URL.

Now, the actual daemon URL (e.g., 'ssh://user@host.com') is used, allowing users
to configure proxies with their actual endpoint URLs in config.json.

Before:
  User configures: {"proxies": {"ssh://user@host.com": {...}}} - doesn't work
  Only works with: {"proxies": {"http://docker.example.com": {...}}}

After:
  User configures: {"proxies": {"ssh://user@host.com": {...}}} - works!

Fixes: docker#7046
Signed-off-by: vigneshakaviki <kumarvignesh295@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docker context use/build proxy not work, due the "docker.example.com" hard code!

1 participant