Балансировка нагрузки Nginx перенаправляет на "имя" вверх по течению

Вступление:

Пожалуйста, прочитайте этот вопрос о проблеме с сервером по проблеме балансировки нагрузки nginx с 301 из бэкэнда. Несколько похоже на мою проблему, но ответ не работает. Nginx перенаправляет на "имя" моего апстрима. Дело в том, что это не вопрос OpenShift.


Конфигурация:

Я правильно настроил nginx 1.4.4 (собран из исходного кода, проверил, что он работает правильно [1]) на одном немасштабированном оборудовании DIY с OPENSHIFT_DIY_IP 127.8.143.129. Давайте назовем это A. Я установил один сервер Tornado на указанном оборудовании, а другой Tornado на другом немасштабированном. (Предположим, что коробка linux = red hat в той же локальной сети за NAT, упрощенно) Оба являются простыми приложениями hello-world, основанными на репозитории openshift-hellotornado. Давайте назовем этот DNS-адрес B. B pam-picaxe.rhcloud.com. DNS-адрес А - main-picaxe.rhcloud.com.

Всякий раз, когда я захожу на main-picaxe.rhcloud.com, браузер перенаправляется с 302 Найдено с

Location: https://frontends/app.

"frontends" - это имя апстрима в конфигурации nginx. Weird.

[1]: Доказательство того, что nginx работает только с шестерней A: Если я закомментирую строку 20 и раскомментируем строку 21 в файле конфигурации (ссылка на вставку в конце сообщения), все будет хорошо, и я получаю "Привет, мир!". но всякий раз, когда у меня есть случай, подобный строке 20 (даже если это DNS-адрес шестерни A вместо шестерни B).

Пробовал решение:

Я потратил полдня на это, устал от попыток настроить это. Я попробовал решение, приведенное в вышеупомянутом сообщении о сбое сервера, заменив мой блок местоположения на:

место нахождения / {
            proxy_pass http://frontends;
            proxy_set_header Host $host;
            proxy_redirect http:// внешние интерфейсы http://$host:$server_port/;
            proxy_redirect http://frontends:8080/ http://$host:$server_port/;
}

Это приводит к петле перенаправления. Пример вывода журнала, начиная с первого запроса к /:

AAA.BBB.CCC.DDD - - [22 / Dec / 2013: 14: 53: 53 -0500] "GET / HTTP/1.1" 302 331 "-" "Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.31 (KHTML, как Gecko) Chrome/26.0.1410.63 Safari/537.31" "WWW.XXX.YYY.ZZZ"
AAA.BBB.CCC.DDD - - [22/Dec/2013:14:53:55 -0500] "GET / HTTP / 1.1 "302 331" - "" Mozilla / 5.0 (X11; Linux i686) AppleWebKit / 537.31 (KHTML, как Gecko) Chrome/26.0.1410.63 Safari/537.31" "WWW.XXX.YYY.ZZZ"
AAA.BBB.CCC.DDD - - [22/Dec/2013:14:53:55 -0500] "GET /app HTTP/1.1" 302 331 "-" "Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.31 (KHTML, как Gecko) Chrome/26.0.1410.63 Safari/537.31" "WWW.XXX.YYY.ZZZ"
AAA.BBB.CCC.DDD - - [22/Dec/2013:14:53:55 -0500] "GET / app HTTP /1.1 "302 331" - "" Mozilla / 5.0 (X11; Linux i686) AppleWebKit / 537.31 (KHTML, как Gecko) Chrome/26.0.1410.63 Safari/537.31" "WWW.XXX.YYY.ZZZ"
AAA.BBB.CCC.DDD - - [22/Dec/2013:14:53:56 -0500] "GET /app HTTP/1.1" 302 331 "-" "Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.31 (KHTML, как Gecko) Chrome / 26.0.1410.63 Safari / 537.31 "" WWW.XXX.YYY.ZZZ" 

Любые идеи о том, как я могу иметь нормальную жизнь с балансировкой нагрузки с Nginx?

Ссылка на nginx.conf: http://pastebin.com/91CMftSc

0 ответов

Другие вопросы по тегам