Здравствуйте!
Есть некий сервер, на котором nginx слушает один адрес (допустим, 1.1.1.1). Адрес резолвится в большую кучу dns-имён, при чём, самых разных. Допустим, у меня для каждого имени есть свой SSL-сертификат. Как мне настроить nginx, чтоб они для каждого имени ассоциировал свой сертификат?
Ответ
Насколько я понимаю, у вас сервер имеет ip 1.1.1.1, на нем nginx и много dns указывают в A-записи на 1.1.1.1
Тогда так
server {
listen 80;
server_name site1.com www.site1.com;
rewrite ^(.*) https://$host$1 permanent;
}
server {
listen 443;
ssl on;
ssl_certificate /etc/nginx/ssl/site1.pem;
ssl_certificate_key /etc/nginx/ssl/site1.key;
server_name site1.com www.site1.com;
root /var/www/site1;
...
}
server {
listen 80;
server_name site2.com www.site2.com;
rewrite ^(.*) https://$host$1 permanent;
}
server {
listen 443;
ssl on;
ssl_certificate /etc/nginx/ssl/site2.pem;
ssl_certificate_key /etc/nginx/ssl/site2.key;
server_name site2.com www.site2.com;
root /var/www/site2;
...
}
Для каждого сайта сначала слушаем порт 80, делаем rewrite с http на https, потом слушаем 443.
Это выдержка из рабочего конфига nginx.
Комментариев нет:
Отправить комментарий