Примените SSL на сервере Nginx, действующем в качестве обратного прокси-сервера для веб-сайтов Azure. - PullRequest
0 голосов
/ 14 сентября 2018

Я пытаюсь использовать сервер 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 не работает должным образом. Он работает только для одного полного доменного имени, указанного в первом блоке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...