HTTP, HTTPS, and SOCKS5 protocols
The gateway protocol controls how the client connects to ProxyRequest. It does not have to match the destination URL scheme.
Protocol decision table
Section titled “Protocol decision table”| Client capability | Use | DNS behavior |
|---|---|---|
| HTTP proxy support | http:// proxy URL | Client and proxy behavior depend on the request type |
| HTTPS destination through HTTP proxy | http:// proxy URL + CONNECT | Tunnel carries the encrypted destination connection |
| SOCKS with local DNS | socks5:// | Client commonly resolves the hostname locally |
| SOCKS with proxy-side DNS | socks5h:// | Hostname is sent through the proxy path |
curl --proxy \ http://example.com/curl --proxy \ https://example.com/curl --proxy \ https://example.com/HTTPS through an HTTP proxy
Section titled “HTTPS through an HTTP proxy”For an HTTPS destination, the client normally sends CONNECT destination:443 to the HTTP proxy. The proxy establishes the route, then the client performs TLS directly through the tunnel. Do not change the proxy scheme to https:// unless the assigned gateway explicitly supports TLS on the proxy connection itself.
Troubleshooting by layer
Section titled “Troubleshooting by layer”- TCP layer: verify gateway host, port, egress firewall, and DNS resolution.
- Proxy layer: verify protocol, username, password, and active order.
- Targeting layer: remove optional constraints to test inventory availability.
- Destination layer: compare multiple targets and inspect the verbose client trace.
- Application layer: confirm the library is using the proxy for every redirect and subrequest.
For a consolidated diagnostic checklist, see common errors.