Я пытаюсь использовать сервер nginx в качестве обратного прокси-сервера для лазурных веб-сайтов. Я смог использовать приведенную ниже конфигурацию для настройки http, которая работала нормально:
upstream uiproxy {
server localhost:8001;
}
upstream uiserver {
server xxx.azurewebsites.net;
}
server {
listen 80;
server_name www.myfrontenddns.com;
location / {
proxy_pass http://uiproxy;
proxy_set_header X-Real-IP $remote_addr;
}
}
server {
listen 8001;
location / {
proxy_set_header Host xxx.azurewebsites.net;
proxy_pass http://uiserver;
}
}
Сейчас я настраиваю его по SSL и не могу заставить его работать. Работает с нижним блоком:
upstream uiproxy {
server localhost:8001;
}
upstream uiserver {
server xxx.azurewebsites.net:443;
}
server {
listen 443;
server_name www.myfrontenddns.com;
ssl on;
ssl_certificate /etc/ssl/certificate.pem;
ssl_certificate_key /etc/ssl/certificate.key;
location / {
proxy_pass https://uiproxy;
proxy_set_header X-Real-IP $remote_addr;
}
}
server {
listen 8001;
ssl on;
ssl_certificate /etc/ssl/certificate.pem;
ssl_certificate_key /etc/ssl/certificate.key;
location / {
proxy_set_header Host xxx.azurewebsites.net;
proxy_pass https://uiserver;
}
}
У меня есть несколько реплик вышеуказанной конфигурации на одном сервере nginx для нескольких конечных точек. Пожалуйста, предложите, как правильно настроить ssl для работы с несколькими URL-адресами веб-интерфейса. Очевидно, свойство server_name не работает должным образом. Он работает только для одного полного доменного имени, указанного в первом блоке.