Имеется контроллер и куча клиентов с датчиками. Все клиенты подключаются к контроллеру по адресу
old-site.ru
Стали поступать датчики, которые подключаются к контроллеру уже по новому адресу
new-site.ru, а адрес контроллера пока никто не собирается менять, т.к. не знают как.
Сразу пришла в голову мысль новые датчики направить на сервер с nginx, где организовать редирект с
new-site.ru на
old-site.ru. Вроде ничего сложного, но возникли проблемы.
Контроллеру важно наличие http заголовков:
x-citron-mac : aa:33:99:ff:11:dd
Host : old-site.ru
При отсутствии этих заголовков или несоответствии, датчик выдаёт у себя в консоли:
[NETWORK] >> Error: void QtvDataStorageLoaderPrivate::_q_networkReplyFinished() parsing error in "http://new-site.ru/auth?mac=aa:33:99:ff:11:dd&Ver=334.15&ip=192.168.10.33" : "Start-end tags mismatch"
При успехе датчик должен получить какой то xml файлик от контроллера...
При анализе логов nginx поняли, что заголовки http не передаются, а в заголовок Host подставляется new-site.ru, разумеется, контроллер ничего не выдаёт и блокирует такие запросы.
Настройки редиректа на nginx перепробовали все, какие только можно, ничего не помогает
server {
listen 192.168.1.3:80;
server_name new-site.ru;
#rewrite ^/(.*)$ http://old-site.ru/$1 permanent;
#rewrite ^/(.*)$ http://old-site.ru$1 permanent;
#return 302 http://old-site.ru$request_uri;
#return 301 $scheme://old-site.ru$request_uri;
return 301 http://old-site.ru$/request_uri;
#rewrite ^ $scheme://old-site.ru.net;
}
Подскажите, возможно надо какие то особые параметры в настройках редиректа nginx использовать?