For the complete documentation index, see llms.txt. Markdown versions of all docs pages are available by appending .md to any docs URL.
SSL Redirect
Verified : Code examples on this page have been automatically tested and verified.Convert NGINX SSL redirect annotations to Gateway API HTTP redirect filters.
The ssl-redirect annotation tells NGINX to redirect HTTP to HTTPS. In Gateway API, this becomes a RequestRedirect filter on the HTTPRoute. The referenced TLS Secret must exist in the same namespace as the generated Gateway.
Before: Ingress with SSL redirect
cat <<'EOF' > ssl-redirect-ingress.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ssl-redirect-demo
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "true"
spec:
ingressClassName: nginx
tls:
- hosts:
- secure.example.com
secretName: secure-example-tls
rules:
- host: secure.example.com
http:
paths:
- backend:
service:
name: web-app
port:
number: 8080
path: /
pathType: Prefix
EOFConvert
ingress2gateway print --providers=ingress-nginx --emitter=agentgateway \
--input-file ssl-redirect-ingress.yaml > ssl-redirect-agentgateway.yamlAfter: HTTPRoute(s) with redirect
cat ssl-redirect-agentgateway.yamlIn v0.5.0, the provider generates an HTTP redirect route with a RequestRedirect filter (308 to HTTPS) and no backends. A separate HTTPS route carries the backend traffic. Shown below is the HTTP redirect route:
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: ssl-redirect-demo-secure-example-com-http
spec:
hostnames:
- secure.example.com
parentRefs:
- name: nginx
port: 80
rules:
- matches:
- path:
type: PathPrefix
value: /
filters:
- type: RequestRedirect
requestRedirect:
scheme: https
statusCode: 308Note
The generated redirect preserves NGINX’s default status code of 308.
Apply
kubectl apply -f ssl-redirect-agentgateway.yaml