Nginx Обратный прокси-сервер, исключающий файлы

Nginx Обратный прокси-сервер, исключающий файлы

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

location / {
    try_files $uri $uri/ /index.php?$query_string @proxy;
}

location @proxy {
    proxy_pass https://example.com/$1;
    proxy_set_header HOST $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

решение1

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

Поскольку у вас всегда есть /index.phpв файловой системе, @proxyцель никогда не используется.

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

Связанный контент