Во-первых, простите, если я скажу глупость, у меня нет опыта администрирования серверов, но мне поставили эту задачу.
Для нашего веб-приложения мы хотим настроить прокси-сервер, чтобы клиенты, владеющие собственными доменами, могли указывать на наш прокси-сервер, а их домен эффективно работал как псевдоним нашего приложения. Мы хотим сделать это с помощью прокси-сервера, вместо того, чтобы им приходилось использовать адрес сайта напрямую на случай, если что-то изменится в будущем.
Я пытаюсь сделать это на нашем промежуточном сервере, который имеет следующую конфигурацию 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/;