Я пытаюсь распространять запросы, поступающие на балансировщик нагрузки, на экземпляры набора Azure Scale.
Я создал набор масштабов, используя образ linux vm. В образе Nginx уже установлен в VM. Конфигурация Nginx показана ниже:
server {
listen 80 default_server;
server_name _;
return 301 https://$host$request_uri;
}
server {
listen 443;
listen [::]:443;
server_name 127.0.0.1 127.0.0.1 *.cloudapp.azure.com;
ssl_certificate /usr/local/etc/ssl/certs/certi/domain-crt.txt;
ssl_certificate_key /usr/local/etc/ssl/certs/certi/domain-key.txt;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/access.log;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://127.0.0.1:9000;
proxy_redirect http:// https://;
}
}
Другое приложение (XYZ) работает на порту 9000. Таким образом, Nginx направляет запрос на порт 9000. Затем приложение (XYZ) использует запрос и возвращает ответ.
Теперь я создал набор масштабов с помощью публичного балансировщика нагрузки. Правило балансировки нагрузки должно прослушивать порт 80 и отправлять его на внутренний порт 80.
Чтобы проверить работоспособность экземпляров, я отправляю tcpProbe (ПОРТ 80, Интервал 5, Нездоровый порог 4).
Существует публичный IP-адрес, связанный с loadbalancer.
Однако даже после нажатия общедоступного IP-адреса (или DNS-имени) в браузере я не вижу приложение, работающее в порту 9000.
Я новичок в Azure и Nginx, и мне сложно его реализовать. Все, что я хочу сделать, это запустить несколько экземпляров моего образа виртуальной машины, используя масштабирование и loadbalancer.
Ресурсы, которые были созданы при создании набора масштабов: pip, vnet, scaleset, lb, nsg.
Как мне распределить трафик с балансировщика нагрузки на nginx? Любой намек, предложение о том, как я могу его отладить.