found how to fix
just add it to gitlab.rb and reconfigure
nginx['proxy_set_headers'] = {
"X-Forwarded-Host" => "YOU.REAL.HOSTNAME",
"X-Forwarded-Proto" => "https",
"X-Forwarded-Ssl" => "on"
}
it not makes urls relative, but at least solves redirect to complete wrong name.
this answer really helped GitLab redirecting to HTTPS although it is disabled - #3 by Myari
not external_host_names or other settings needed to change, this is what this redirector wants!