Estou tentando entender como o TLS é encerrado entre um cliente e uma origem quando um CDN está envolvido.
Eu acho que é bastante simples quando um cliente se conecta diretamente a uma origem, um handshake pode ser estabelecido para qualquer número de certificados/membros SAN associados ao servidor de origem.
Mas e se eu precisar do CDN? É impossível usar um CDN de terceiros na frente da minha origem sem carregar esse mesmo certificado de origem e configurá-lo para ser apresentado a partir do CDN?
Eu sei que diferentes CDNs lidam com as coisas de maneira diferente. Por exemplo, parece que o Google CDN é capaz de encerrar adequadamente o TLS com certificados aplicados a um LB GCP upstream. Isso é algo especial que somente a GCDN é capaz devido à sua estreita integração no GCP?
Idealmente, eu gostaria de poder hospedar meus próprios certificados em minha própria origem e apenas ter o TCP pass-thru do CDN diretamente para a origem, para que o cliente e o servidor de origem possam ter certificação e criptografia de ponta a ponta sem nenhuma configuração adicional no CDN enquanto o CDN ainda faz a parte do cache. Mas parece que isso simplesmente não é possível?
client => cdn => origin(cert)