Mapeamento DNS ou talvez relacionado a CNAME

Mapeamento DNS ou talvez relacionado a CNAME

Eu tenho um pequeno saas onde cada cliente obtém sua própria instância de aplicativo. Cada instância do aplicativo possui um DNS comoempresa.exemplo.com.

Um cliente (digamos X) me perguntou se em vez declienteX.example.com ele pode ter sua instância de aplicativo mapeada para seu domínio: algo como app.his-domain.com

Minha ideia inicial foi pedir a ele que incluísse um registro DNS CNAME como este:

CNAME:

app.his-domain.com -> customerX.example.com

e no meu site adicione um novo server_name para nginx:

server {

server_name customerX.example.com app.his-domain.com;

proxy_pass: https://backend;

}

Mas isso não funcionará por causa dos certificados TLS que sãoapenas para subdomínios .example.com!

Pergunta:

como esse mapeamento de DNS deve funcionar? Tenho dificuldade em pesquisar sobre isso no Google porque não conheço os "termos oficiais" para isso. A ideia do CNAME vem da minha experiência limitada com DNS. Então pode ser uma completa bobagem...

Responder1

Você está confundindo CNAMES com redirecionamento HTTP. Um CNAME apenas traduz durante a pesquisa de DNS para um IP, mas quando o cliente inicia a sessão HTTPS para o servidor, ele ainda usará o nome DNS original nos cabeçalhos HTTP, portanto, você receberá um erro de certificado porque o NGINX está servindo o certificado para .example.com.

Tudo o que você precisa fazer para corrigir isso é pedir ao cliente para emitir um certificado app.his-domain.come fazer com que seu NGINX forneça esse certificado para clientes que solicitam o site app.his-domain.com.

Outra maneira de corrigir isso seria hospedar um redirecionamento em seu servidor, onde o NGINX informa ao cliente 301 Permanently Moved to client.example.com, mas isso tem o aspecto negativo que seu cliente veria client.example.comna barra de endereço do navegador, o que meio que nega o ponto principal de ter um domínio personalizado.

informação relacionada