Skip to content

Feature Request: Add support for SSL settings for SSL proxies #209

Open
@ag-TJNII

Description

@ag-TJNII

#55 added support for HTTPS proxies, which is a nice feature. In that MR the lack of ability to set verification settings was called out as improvement point, but wasn't a blocker. I believe being able to pass SSL settings to the Proxy socket is needed. As outbound proxies are almost always internal to an org, it's quite likely they will use an internal CA, or possibly require mutual TLS. In both these cases being able to pass CA files or key settings to the SSL socket is either very nice, or required. Unless the proxy uses a publicly trusted cert, the only option is to build the internal cert into the host level CA config. Mutual TLS isn't possible.

This has tripped my attempt to use this feature, and I think users of libraries leveraging this will be confused that the endpoint level SSL settings, like specifying a CA bundle, don't apply to the proxy SSL connection.

As an aside, I also think that the argument list to Net::HTTP.new is getting a bit cumbersome. When using a HTTPS Proxy that doesn't require auth it's likely the Net::HTTP.new will look something like: Net::HTTP.new(endpoint.host, endpoint.port, proxy.host, proxy.port, nil, nil, nil, true). I think for this level of advanced config kwargs might be more manageable or instance attributes, like .use_ssl=.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions