Как настроить блок сервера Nginx Load Balancer - PullRequest
0 голосов
/ 02 октября 2019

Моя цель - сбалансировать все запросы, поступающие на parent_server.com на child_server1.com и child_server2.com с включенным HTTPS. Это моя текущая конфигурация балансировки нагрузки:

upstream childServers {
        server child_server1.com:443;
        server child_server2.com:443;
}

server {
        server_name parent_server.com
        location / {
                #proxy_pass https://childServers;
        }

  listen [::]:443 ssl; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    // certbot information
}

server {
    if ($host = parent_server.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot
        listen 80 ;
        listen [::]:80 ;
        server_name parent_server.com;
        return 404; # managed by Certbot
}

А это мой блок Nginx моего дочернего сервера, в то время как он лежит на другом сервере.

server {
        server_name child_server1.com;
        location / {
                #proxy_pass http://localhost:9000;
        }

  listen [::]:443 ssl; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    // certbot information
}

server {
    if ($host = child_server1.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot
        listen 80 ;
        listen [::]:80 ;
        server_name child_server1.com;
        return 404; # managed by Certbot
}

К сожалению, это не работает при поступлении запросовиз балансировщика нагрузки будет иметь хост как «parent_server.com». Один из обходных путей, который я могу использовать, - это прослушивание всех запросов на дочернем сервере, а не ТОЛЬКО child_server1.com. Это правильный способ сделать это? Или есть какой-то другой правильный метод?

...