Перенаправить запрос по ссылке на другой сервер с тем же хостом (nginx)
Недавно возникла ситуация, когда из-за временных проблем на сайте нужно было перевести главную страницу на другой сервер, а все остальные страницы раздавать со старого. Так же, нельзя было менять настройки старого сервера. И всё это на сайте с ssl сертификатами. Для этого я перенаправил dns на новый сервер и на новом сервере прописал следующий конфиг в nginx.
server {
listen 80;
listen 443 ssl;
server_name example.com www.example.com;
location = / {
rewrite ^/$ https://new.example.com redirect;
}
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_pass https://111.111.111.111:443;
}
ssl_certificate /home/example.bundle;
ssl_certificate_key /home/example.key;
}
Что мы имеем в итоге:
Клиент заходя на главную страницу - перенаправляется на другой домен, а заходя на страницу отличную от главной - переходит на старый сервер с сохранением доменного имени.
Надеюсь это кому-то поможет.