Supported versions:
Unsupported versions:
This topic explains how to enable non-SNI clients, HTTP clients, and a combination of both for use with Apigee hybrid.
enableNonSniClient
is set to true:
apiVersion: apigee.cloud.google.com/v1alpha1 kind: ApigeeRoute metadata: name: route_name namespace: apigee spec: hostnames: - "*" ports: - number: 443 protocol: HTTPS tls: credentialName: credential_name mode: SIMPLE #optional minProtocolVersion: TLS_AUTO selector: app: istio-ingressgateway enableNonSniClient: true
Where:
kubectl Command:
kubectl -n apigee 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
virtualhosts:
$APIGEECTL_HOME/apigeectl apply -f overrides.yaml --settings virtualhosts --env $ENVIRONMENT
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).
This section explains support for HTTP clients for use with Apigee hybrid.
apiVersion: apigee.cloud.google.com/v1alpha1 kind: ApigeeRoute metadata: name: route_name namespace: apigee spec: hostnames: - "*" ports: - number: 80 protocol: HTTP selector: app: istio-ingressgateway enableNonSniClient: true
Where:
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
virtualhosts:
$APIGEECTL_HOME/apigeectl apply -f overrides.yaml --settings virtualhosts --env $ENVIRONMENT
This section explains how to enable both non-SNI (port 443) and HTTP (port 80) clients for use with Apigee hybrid.
apiVersion: apigee.cloud.google.com/v1alpha1 kind: ApigeeRoute metadata: name: route_name namespace: apigee spec: hostnames: - "*" ports: - number: 443 protocol: HTTPS tls: credentialName: credential_name mode: SIMPLE #optional minProtocolVersion: TLS_AUTO - number: 80 protocol: HTTP selector: app: istio-ingressgateway enableNonSniClient: true
Where:
hostname must be set to the wildcard "*".
kubectl Command:
kubectl -n apigee get ApigeeRoutes -o=yaml | grep credentialName
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
virtualhosts:
$APIGEECTL_HOME/apigeectl apply -f overrides.yaml --settings virtualhosts --env $ENVIRONMENT
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.