Snowflake’s Python 5 connector supports connection-level proxy fields. For an application keeping its normal connection options separately:

connection = snowflake.connector.connect(
    **connection_options,
    proxy_host='proxy.example',
    proxy_port=8080,
    use_proxy_env=False,
)

connection_options contains the existing Snowflake account and authentication settings, without duplicate proxy keys. proxy_user and proxy_password supply a separate intermediary account when needed. For a permitted public-proxy route without that account, take candidate proxy_host and proxy_port values from the HTTP proxy list.

By default, use_proxy_env is true and the connector reads HTTP_PROXY, HTTPS_PROXY and NO_PROXY. In version 5, an explicit proxy_host or proxy_port takes priority over those environment values. Setting use_proxy_env=False disables their use deliberately.

The documented behavior since 3.17.0 but before version 5 had environment values overriding explicit host and port. Keep the connector version with a comparison across deployments.

Snowflake also requires its certificate to pass through without interception changes. A route through the corporate proxy does not authorize replacing the service certificate with an arbitrary inspection certificate.

For bypasses, NO_PROXY accepts comma-separated host suffixes or IP addresses, rather than wildcard expressions. Configure the actual Python worker environment when using that route, including a Django worker or notebook process.

Artihkkalat mat laktásit