Host
s behind a single IP address, each
with their own certificate.
This is as easy to do as creating a Host
for each domain or subdomain you
want Host
the route should be created for.
The example below configures two Host
s and assigns routes to them.
The Host
resources lets you separate configuration for each distinct domain
and subdomain you plan on serving behind
Let's start by creating a simple Host
and providing our own certificate in
the host-cert
secret.
---
apiVersion: getambassador.io/v3alpha1
kind: Host
metadata:
name: example-host
spec:
hostname: host.example.com
tlsSecret:
name: host-cert
Now let's create a second Host
for a different domain we want to serve behind
Host
uses
---
apiVersion: getambassador.io/v3alpha1
kind: Host
metadata:
name: foo-host
spec:
hostname: host.foo.com
acmeProvider:
email: julian@example.com
We now have two Host
s with two different certificates.
Now that we have two domains behind
We do this by setting the hostname
attribute of a Mapping
to the domain the
Mapping
should be created for.
---
apiVersion: getambassador.io/v3alpha1
kind: Mapping
metadata:
name: httpbin
spec:
prefix: /httpbin/
service: httpbin.org:80
host_rewrite: httpbin.org
hostname: host.example.com
The above creates a /httpbin/
endpoint for host.example.com
.
---
apiVersion: getambassador.io/v3alpha1
kind: Mapping
metadata:
name: mockbin
spec:
prefix: /foo/
service: foo-service
hostname: host.foo.com
The above creates a /foo/
endpoint for host.foo.com
.
---
apiVersion: getambassador.io/v3alpha1
kind: Mapping
metadata:
name: frontend
spec:
hostname: "*"
prefix: /bar/
service: bar-endpoint
The above creates a /bar/
endpoint for all Host
s.