A solução depende das capacidades do cliente, seu orçamento e especificidades de arquitetura.
1. Se os dois domínios estiverem hospedados no mesmo endereço IP e você não puder ter outro:
Se o cliente suportar a extensão TLS SNI:
server {
listen X.X.X.X:443 ssl;
ssl_certificate /path/to/myolddomain.cert;
ssl_certificate_key /path/to/myolddomain.key;
server_name .myolddomain.se;
return 301 https://www.mynewdomain.se$request_uri;
}
server {
listen X.X.X.X:443 ssl;
ssl_certificate /path/to/mynewdomain.cert;
ssl_certificate_key /path/to/mynewdomain.key;
server_name .mynewdomain.se;
[ ... ] # Your stuff
}
Se isso não acontecer, mas entender x509 extensão SubjectAltName
e você puder gerar um novo certificado, solicite um certificado exclusivo para ambos os domínios. A configuração deve se parecer com:
server {
listen X.X.X.X:443 ssl default_server;
ssl_certificate /path/to/domain.cert;
ssl_certificate_key /path/to/domain.key;
server_name _;
}
server {
listen X.X.X.X:443;
server_name .myolddomain.se;
return 301 https://www.mynewdomain.se$request_uri;
}
server {
listen X.X.X.X:443;
server_name .mynewdomain.se;
[ ... ] # Your stuff
}
2. Se cada domínio estiver em um endereço IP distinto ou se estiver no mesmo, mas você pode ter outro
A solução mais genérica, ouça em dois IPs diferentes (normalmente, um IP público adicional é "simplesmente" uma opção para comprar em seu provedor de hospedagem):
server {
listen X.X.X.X:443 ssl;
ssl_certificate /path/to/myolddomain.cert;
ssl_certificate_key /path/to/myolddomain.key;
server_name .myolddomain.se;
return 301 https://www.mynewdomain.se$request_uri;
}
server {
listen Y.Y.Y.Y:443 ssl;
ssl_certificate /path/to/mynewdomain.cert;
ssl_certificate_key /path/to/mynewdomain.key;
server_name .mynewdomain.se;
[ ... ] # Your stuff
}