но если прям очень надо, то в таком случае следует заменить блок upstream на блок split_clients
split_clients не очень подходит. Я изначально не указал, чтобы не усложнять, что мне нужно один бэкенд использовать как основной, а второй только в случае, когда не доступен основной. С upstream это можно сделать, а с split_clients, как я понял, нельзя. В любом случае, спасибо за подробный ответ. Буду изучать HAPropy. Там это вроде бы проще реализовать.
В чём в вашем случае проблема того, что Nginx проксирует запрос на IP?
В моем случае проблема в том, что на бэкенде вебсервер не настроен обрабатывать входящие запросы по IP. Поэтому мне нужно найти решение, каким образом можно в запросе к нему передавать доменное имя. Если в proxy_pass подставить напрямую домен, то это работает. Но мне нужно как-то реализовать это через upstream.
вы умудрились потерять концевой слеш в директиве proxy_pass
Вы правы, но меня сейчас интересует, есть ли вообще в принципе возможность вносить изменения с помощью nginx в рамках описанных условий. У меня уже частично это реализовано. Если это прямой пользователь, он получает один ID элемента страницы. Если он зашел из facebook.com - другой. Если с поисковика, то оставляем как есть. Проблема в том, что внутренние переходы - это отдельная категория, и я не нашел, как средствами nginx определить, откуда изначально этот пользователь пришел. Скорее всего да, это нужно делать средствами бэкэнда. Но решил спросить на всякий случай. Nginx уже много раз удивлял своими возможностями.
Проверял. Автоматически редиректы не меняет, увы. Он, кажется, умеет так делать, когда ЧПУ меняется, например, через Yoast.
В общем, я свой вопрос обновил, потому что нашел почти то, что мне надо. Но требуется очень маленькая доработка.
Ну вот у нас разметка rel="next" и rel="prev" присутствует.
А постраничную навигацию не запрещаем к индексации для того, чтобы боты поисковых систем могли видеть все страницы сайта (sitemap на данный момент не используется). Или есть какие-то другие решения для нормальной индексации?
split_clients не очень подходит. Я изначально не указал, чтобы не усложнять, что мне нужно один бэкенд использовать как основной, а второй только в случае, когда не доступен основной. С upstream это можно сделать, а с split_clients, как я понял, нельзя. В любом случае, спасибо за подробный ответ. Буду изучать HAPropy. Там это вроде бы проще реализовать.