New to Voyager? Please start here.
AppsCode Ingress support header and URL modification at the loadbalancer level. To ensure simplicity, the backend rules follow the HAProxy syntax as it is. To add some rewrite rules for a HTTP path, follow the example below:
apiVersion: voyager.appscode.com/v1 kind: Ingress metadata: name: test-ingress namespace: default spec: rules: - host: appscode.example.com http: paths: - backend: service: name: test-service port: number: 80 backendRules: - http-request replace-uri ^/(.*)$ /testings/\\1 - http-request set-header X-Forwarded-Host %[base]
The first rule specified in
backendRules is used to modify the request url including the host. Current example
will add an
/testings prefix in every request URI before forwarding it to backend.
The second rule specified in
backendRules will be applicable before going to the backend.
These rule will add header in the request if the header is already not present in the request header.
In the example
X-Forwarded-Host header is added to the request if it is not already there,
the base URL the load balancer received the requests.