솔루션은 클라이언트 기능, 예산 및 아키텍처 고유성에 따라 다릅니다.
1. 두 도메인이 동일한 IP 주소로 호스팅되고 다른 도메인을 가질 수없는 경우 :
클라이언트가 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
}
x509 확장을 이해하지 못하고 SubjectAltName
새 인증서를 생성 할 여유가 있다면 두 도메인 모두에 대해 고유 한 인증서를 요청하십시오. 구성은 다음과 같아야합니다.
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. 각 도메인이 고유 한 IP 주소에 있거나 동일하지만 다른 도메인에있을 수있는 경우
가장 일반적인 솔루션은 서로 다른 두 가지 IP를 듣습니다 (보통 추가 공개 IP는 호스팅 제공 업체에서 구매하는 옵션 일뿐입니다).
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
}