GitLab ignoring no_proxy?
I have GitLab 8.7.4 installed in an environment that needs use of a proxy server to access the internet but not a number of internal servers. I have gitlab.rb configured as
gitlab_rails['env'] = {
'http_proxy' => "http://webproxy.lon.corp.services:80",
'https_proxy' => "http://webproxy.lon.corp.services:80",
'no_proxy' => "localhost,127.0.0.1,.cis.cloud,.ime.company.com,.companyint.com"
}
And it appears that sidekiq and unicorn are picking those up as environment variables.
If I have project with a web hook at http://lyra-dev.cis.cloud:43212/ and test that via the UI, the headers the web hook receives are:
{ 'content-type': 'application/json',
'x-gitlab-event': 'Push Hook',
host: 'lyra-dev.cis.trcloud:43212',
'content-length': '2649',
via: '1.1 proxy.company.com (squid/3.1.10)',
'x-forwarded-for': 'unknown',
'cache-control': 'max-age=259200' }
So for some reason it has gone through a proxy server even though the no_proxy
should match the domain.
If I test using curl from the server with appropriate no_proxy environment variable configured that appears to work fine which seems to exclude a transparent proxy getting in the way:
{ 'user-agent': 'curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.19.1 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2',
host: 'lyra-dev.cis.trcloud:43212',
accept: '*/*' }
I've also tried putting the environment variables into upper cased names (HTTPS_PROXY, NO_PROXY) and having both as I've seen odd behaviour of applications expecting it upper case, but the outcome is the same.
I've also tried with just the one domain in no_proxy
but that produced the same headers on the web hook receiver..
Is there anything else I can try to diagnose this?
Thanks.