Рейтинг:0

Обратный прокси Nginx без файлов

флаг eg

У меня есть целевая страница, созданная с помощью wordpress и размещенная на example.com. У меня есть приложение, работающее на app.example.com по внешнему URL-адресу. Когда пользователь пытается получить доступ к файлам wordpress, он должен обслуживаться с example.com, и если этот URL-адрес или папка недоступны, URL-адрес должен быть замаскирован и должен идти на удаленный URL-адрес как example.com/$1. Я пробовал использовать обратный прокси-сервер nginx, но он не работает.

место расположения / {
    try_files $uri $uri/ /index.php?$query_string @proxy;
}

местоположение @прокси {
    прокси_пароль https://example.com/$1;
    proxy_set_header HOST $хост;
    proxy_set_header X-Forwarded-Proto $ схема;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
Michael Hampton avatar
флаг cz
Что не работает?
флаг eg
Если файлы не найдены, он должен перейти к прокси. в настоящее время это собирается 404 wordpress. Например, если я выполнял поиск по адресу example.com/test, то файлы должны обслуживаться из внешнего домена google.com, но URL-адрес должен отображаться как example.com/test.
Рейтинг:0
флаг us

try_files только проверяет, существуют ли фактические файлы в файловой системе. Как только он находит существующий файл, он использует его для предоставления ответа. try_files не действует ни на какие коды состояния HTTP.

Так как у тебя всегда /index.php в вашей файловой системе @прокси цель никогда не используется.

Вам нужно реализовать функциональность, подключившись к хуку генерации ошибок WordPress 404 и выполняя там проксирование.

флаг eg
Спасибо. Поскольку я плохо разбираюсь в Wordpress, попытаю счастья с nginx. ``место/{ try_files $uri $uri/ @proxy; } местоположение @прокси { прокси_пароль https://app.example.com/$1; proxy_set_header Хост $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_intercept_errors включен; recursive_error_pages включено; error_page 404 = @wordpress; } местоположение @wordpress { переписать ^/(.*)$ /index.php?$query_string break; }``
флаг us
Пожалуйста, не добавляйте фрагменты конфигурации в комментарии, они не могут быть правильно прочитаны.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.