Назад | Перейти на главную страницу

прокси-сервер nginx 502 Bad Gateway

Во-первых, простите, если я скажу глупость, у меня нет опыта администрирования серверов, но мне поставили эту задачу.

Для нашего веб-приложения мы хотим настроить прокси-сервер, чтобы клиенты, владеющие собственными доменами, могли указывать на наш прокси-сервер, а их домен эффективно работал как псевдоним нашего приложения. Мы хотим сделать это с помощью прокси-сервера, вместо того, чтобы им приходилось использовать адрес сайта напрямую на случай, если что-то изменится в будущем.

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

server {
    listen 80;

    server_name staging.oursite.com;

    access_log /home/appname/logs/nginx-access.log;
    error_log /home/appname/logs/nginx-error.log;

    location /static/ {
        alias /home/appname/appname/static/;
        expires 365d;
    }

    location /site_media/ {
        alias /home/appname/appname/media/;
        expires 365d;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/home/appname/run/gunicorn.sock;
    }

    error_page 502 /502.html;
    location = /502.html {
       root  /home/appname/appname/error_page/;
    }
}

Насколько я понимаю, все, что вам нужно для настройки прокси, - это проксирование нового блока сервера на этот другой сервер, поэтому я добавил следующую директиву ниже:

server {
    listen 80;

    server_name proxy.staging.oursite.com;

    location / {
        include proxy_params;
        proxy_pass http://staging.oursite.com;
    }
}

Я перезапустил nginx, чтобы перезагрузить новую конфигурацию, но при переходе к proxy.staging.oursite.com Я получаю следующую ошибку:

502 Bad Gateway

Предлагаю взглянуть на доступ к серверу и журналы ошибок -> /var/log/nginx/error.log, /var/log/nginx/access.log

Также проверьте, если staging.oursite.com доступен.

URL-адрес proxy_pass также должен заканчиваться на "/", иначе вы получите недопустимый URL-адрес.

Пытаться:

proxy_pass http://staging.oursite.com/;