Skip to content

Connection Timeout to Upstream Registry with Proxy Enabled; Works with Custom Proxy Emulator #1129

@Heyzi

Description

@Heyzi

Problem

When running openvsx in a Docker container with an upstream registry configured and proxy settings enabled, the application fails to connect to the upstream URL https://openvsx.org:443. The error reported is:

Connect to https://openvsx.org:443 [open-vsx.org/198.41.30.195] failed: Connection timed out

The proxy settings are configured via JVM arguments, and the upstream URL is set to https://openvsx.org. However, if I replace the upstream URL with the address of a custom proxy service (emulating curl behavior), the connection succeeds without issues. This suggests a potential problem with how openvsx handles proxy connections to the default upstream registry.

Steps to Reproduce

  1. Deploy openvsx in a Docker container.
  2. Configure the upstream registry with the following settings:
    upstream:
      proxy:
        enabled: true
      url: https://openvsx.org
  3. Set JVM proxy arguments (e.g., -Dhttp.proxyHost=proxy.company.com -Dhttp.proxyPort=8080 -Dhttps.proxyHost=proxy.company.com -Dhttps.proxyPort=8080).
  4. Start the container in an environment with a corporate proxy.
  5. Observe the error in logs:
    Connect to https://openvsx.org:443 [open-vsx.org/198.41.30.195] failed: Connection timed out
    
  6. Replace the upstream URL with a custom proxy emulator (e.g., http://localhost:8081), which forwards requests to openvsx.org via CONNECT method.
  7. Restart the container and note that the connection works successfully.

Environment

  • OpenVSX Version: 0.22.2
  • Docker Setup: Running in a Docker container
  • Proxy Configuration:
    • JVM args: -Dhttp.proxyHost=proxy.company.com -Dhttp.proxyPort=8080 -Dhttps.proxyHost=proxy.company.com -Dhttps.proxyPort=8080
    • Upstream config:
      upstream:
        proxy:
          enabled: true
        url: https://openvsx.org

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions