I trying to setup alt_server_certs for OIDC, but having trouble.
I use haproxy proxy front of controller/router and my haproxy configs is:
frontend tcp_https_in
bind *:443
bind [::]:443 v6only
mode tcp
tcp-request inspect-delay 5s
tcp-request content accept if { req_ssl_hello_type 1 }
# This for controller
use_backend controller_backend if { req_ssl_sni -i controller1.domain.com }
# This for OIDC
use_backend controller_backend if { req_ssl_sni -i ziti.domain.com }
# This for router1
use_backend edge_router_backend if { req_ssl_sni -i router1.domain.com
frontend tcp_https_in_8443
bind *:8443
bind [::]:8443 v6only
mode tcp
tcp-request inspect-delay 5s
tcp-request content accept if { req_ssl_hello_type 1 }
# This for controller
use_backend controller_backend_8443 if { req_ssl_sni -i controller1.domain.com }
backend controller_backend
mode tcp
server controller 127.0.0.1:1280 check
backend edge_router_backend
mode tcp
server edge_router 127.0.0.1:3022 check
backend controller_backend_8443
mode tcp
server controller 127.0.0.1:1282 check
And in controller config I have
identity:
cert: "pki/intermediate/certs/client.chain.pem"
server_cert: "pki/intermediate/certs/server.chain.pem"
key: "pki/intermediate/keys/server.key"
ca: "pki/root/certs/root.cert"
alt_server_certs:
- server_cert: "/etc/letsencrypt/live/ziti.domain.com/fullchain.pem "
server_key: "/etc/letsencrypt/live/ziti.domain.com/privkey.pem"
...
web:
- name: client-management
bindPoints:
- interface: 127.0.0.1:1280
address: controller1.domain.com:443
identity:
ca: "pki/root/certs/root.cert"
key: "pki/intermediate/keys/server.key"
server_cert: "pki/intermediate/certs/server.chain.pem"
cert: "pki/intermediate/certs/client.chain.pem"
options:
idleTimeout: 5000ms #http timeouts, new
readTimeout: 5000ms
writeTimeout: 100000ms
minTLSVersion: TLS1.2
maxTLSVersion: TLS1.3
apis:
- binding: edge-client
options: { }
- binding: edge-oidc
optionss: { }
- name: management
bindPoints:
- interface: 127.0.0.1:1282
address: controller1.domain.com:8443
identity:
ca: "pki/root/certs/root.cert"
key: "pki/intermediate/keys/server.key"
server_cert: "pki/intermediate/certs/server.chain.pem"
cert: "pki/intermediate/certs/client.chain.pem"
options:
idleTimeout: 5000ms
readTimeout: 5000ms
writeTimeout: 100000ms
minTLSVersion: TLS1.2
maxTLSVersion: TLS1.3
apis:
- binding: edge-management
options: { }
- binding: fabric
options: { }
- binding: zac
options:
location: /opt/openziti/share/console
indexFile: index.html
And if try to go https://ziti.domain.com I will get "not trusted" and when checking the certificate it's ziti's internal certificate and not LE one?