Nginx обратный прокси дает "502 Bad Gateway" - PullRequest
0 голосов
/ 09 июля 2020

Мой обратный прокси-сервер выдает «502 Bad Gateway». Но он отлично работает, когда я устанавливаю порт 5000. Никакие другие порты не работают, кроме порта 5000.

У меня есть приложение flask, которое работает на порту 8888. Если я напрямую нажимаю на порт 8888 (без nginx), работает. Я не могу понять, почему другие порты не работают.

Вот мой файл по умолчанию:

    *upstream backend {
    server 127.0.0.1:8888; # Only port # 5000 works
    }
   server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name _;
    location / {
    proxy_pass http://backend;
    }
    }*

Я искал в Google, но не нашел полезного решения. Любая помощь будет оценена по достоинству. Спасибо.

Ответы [ 2 ]

0 голосов
/ 11 июля 2020

Я нашел решение.

Проблема заключалась в том, что при изменении номера порта в файле конфигурации по умолчанию это изменение не было обновлено моей Linux машиной. Я grep nginx и обнаружил, что nginx всегда получает мой старый номер порта (порт 5000), а не обновленный.

Я отредактировал конфигурацию по умолчанию с помощью команды vim (sudo vim default), а затем он работает отлично.

0 голосов
/ 09 июля 2020

Я не очень хорошо знаком с приведенным выше синтаксисом, но я поддерживаю довольно много приложений Flask с nginx в качестве обратного прокси.

Я с подозрением отношусь к этой строке 1005 * Учитывая приведенную выше информацию, я бы написал следующую конфигурацию:

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name _;
    location / {
        proxy_pass 127.0.0.1:8888;
}

Кроме того, я настоятельно рекомендую вам установить server_name, а также использовать шифрование SSL. Это означает, что он также обслуживается для порта 443.

Если вы все еще сталкиваетесь с проблемами, просмотрите оба журнала ошибок nginx (на моем компьютере с Ubuntu /var/log/nginx/error.log и в журнале ошибок Flask / Gunicorn). .

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