При обращении там идут редиректы, при этом Location возвращается без указания порта (8080) и поэтому ничего не работает.
При этом установка
proxy_set_header Host aaa.spb.ru:8080;
после блока proxy_set_header также ничего не дает - этот блок вынесен в отдельный файл для всех сайтов.
Но стоит убрать строку proxy_set_header Host $host; - и порт нормально появляется в редиректе. В чём логика? Host нельзя переопределить 2 строкой? или при этом уходит запрос с 2 хостами и система сама выбирает что больше нравится? или как? И как тогда правильнее задать в выносном блоке, можно ли как Host $host$port? Или просто не добавлять, а для секции с изменением порта - задавать Host уже в нужном location?
И попутно мелкий вопросик: была ситуация наоборот, проксируем запрос внутрь с 80 порта на 8080, пока явно не прописали Host $host:80; - периодически порт 8080 проявлялся в адресной строке. Хотя на десятке других серверов такого не было, при том что секция одинаковая.