Наша установка - это два сервера:
Сервер 1, на котором размещен WP, использует Nginx в качестве веб-сервера и обратного прокси-сервера для Сервера 2.
На сервере 1 у нас есть простой блок местоположения для обратного прокси:
location /foo/ {
proxy_pass http://1.1.1.2/foo/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_redirect off;
proxy_intercept_errors on;
}
На сервере 2 у нас также есть блок местоположения, потому что платформа требует битовой перезаписи URL. Это немного неоднозначно, потому что платформа загружает некоторый контент через index.php? Args, но есть также статический контент:
location /foo/ {
index index.php;
try_files $uri $uri/ /foo/index.php?$args;
}
Проблема, с которой мы сталкиваемся, заключается в том, что хотя domain.com/foo/?bar, domain.com/foo/bar отлично работает, domain.com/foo/img/photo.png дает 404.
Я полагаю, это связано с try_files
но я не могу заставить его работать.
В конце концов, дело не в обратном прокси. На Сервере 1 был еще один блок местоположения регулярного выражения, который перехватил все запросы изображений, и они вообще не сделали его для обратного прокси. Задача решена.
отправлено снова как ответ, чтобы пометить вопрос как решенный