Supported versions:
Unsupported versions:
This topic explains how to enable non-SNI clients for use with Apigee hybrid.
enableNonSniClient
is set to true:
apiVersion: apigee.cloud.google.com/v1alpha1 kind: ApigeeRoute metadata: name: ROUTE_NAME namespace: APIGEE_NAMESPACE spec: hostnames: - "*" ports: - number: 443 protocol: HTTPS tls: credentialName: CREDENTIAL_NAME mode: SIMPLE #optional minProtocolVersion: TLS_AUTO selector: app: apigee-ingressgateway enableNonSniClient: true
Where:
kubectl Command:
kubectl -n APIGEE_NAMESPACE get ApigeeRoutes -o=yaml | grep credentialName
hostnames must be set to the wildcard "*".
additionalGateways
property. For example:
virtualhosts:
- name: default
sslCertPath: ./certs/fullchain.pem
sslKeyPath: ./certs/privkey.pem
additionalGateways: ["ROUTE_NAME"]ApigeeRoute.yamlkubectl apply -f ApigeeRoute.yaml -n APIGEE_NAMESPACE
virtualhosts. If you have set the
$ENV_GROUP environment variable in your shell, you can use that in the
following commands:
helm upgrade $ENV_GROUP apigee-virtualhost/ \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=$ENV_GROUP \ -f OVERRIDES_FILE.yaml
Since the ingress is at the cluster level for a given port (443), and there can only be one key/cert pair for the ApigeeRoute CRD, all orgs must share the same key/cert pair.
All hostnames across all environment groups must use the same key/cert pair.
ApigeeRoutes can be validated by Apigee; however, Gateway (the Istio CRD) cannot be. Technically, even Gateway can work, but we can prevent potential configuration mistakes (through a validation webhook).
If your Apigee instance is exposed through a Google Load Balancer, then the Load Balancer supports non-SNI clients as explained in the Load Balancing documentation. Otherwise, if you have exposed an Apigee instance through an internal Private Service Connect endpoint or VPC, by default the Apigee instance supports non-SNI clients.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-06-11 UTC.