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

Невозможно войти в систему или выполнить какие-либо действия при использовании proxy_pass с Nginx

В моем предыдущем вопросе здесь nginx разрешает (указывает) все на другой ip, кроме определенного файла и подкаталога Я спросил о разрешении моего веб-сайта с белыми метками и его страниц с разными IP-адресами, но на моем сервере есть некоторые подпапки и файлы для загрузки. Оказывается, сделать это довольно просто, и окончательное решение получилось таким:

location /robots.txt {
   alias {DOCROOT};
}
server_name {SERVERNAME};
location ~ /\.php$ {
    proxy_pass  10.10.10.10 <== whitelabel ip;
    proxy_set_header Host            {SERVERNAME};
    proxy_set_header X-Forwarded-For myaccount.whitelabelsite.com;
    proxy_redirect off;
    proxy_set_header Connection "Keep-Alive";
    proxy_buffering off;
}

Итак, здесь я загружаю все с моего веб-сайта с белыми метками в моем домене, но все же сохраняю robots.txt для загрузки с моего хостинга и некоторых других файлов.

Проблема в том, что я использую этот метод. Я не могу войти в свою учетную запись на сайте whitelabel.

Так {SERVERNAME} директива - это в основном мое доменное имя mydomain.com и когда я пытаюсь войти в mydomain.com/aff/panel он открывает страницу, он не выводит никаких ошибок, а просто обновляет страницу и ничего не делает. То же самое, если кто-то хочет сделать заказ или отправить форму по электронной почте. Он открывает страницы, но на самом деле не выполняет никаких действий.

Когда я использовал перенаправление DNS, все работало, но теперь это не так. Мне не хватает информации о прокси или заголовков, которые отправляют / получают действия, перенаправленные на белую метку и обратно?

Серверное приложение на сайте «whitelabelsite.com» может работать некорректно без правильной настройки хоста. Установите в заголовке Host имя хоста, на которое вы проксируете, вместо вашего собственного.

proxy_set_header Host myaccount.whitelabelsite.com

Вы уверены, что вам нужно proxy_redirect off? Это может помешать внутреннему сайту отправлять перенаправления.

Кроме того, вряд ли связано с проблемой, но X-Forwarded-For должен быть IP-адрес клиента. В nginx есть специальная переменная для правильного добавления ip.

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

Это немного гадание без доступа к полной информации, надеюсь, это поможет.