Можно ли сделать редирект с http на https без предупреждений браузера?
Это можно сделать только на стороне сервера.
Но ни один вменяемый админ сервера не переведёт его с https на http
Не отвечаете header(), а сами в этом скрипте обращаетесь к этой ссылке, качаете её, и отдаёте скачанное запросившему пользователю. Так будет работать. Но для того скрипта на отдельном порту ВСЕ такие коннекты будут с IP-адреса самого сервера, что плохо для разграничения доступа...