Update Process Using Curl is Accessing an Unconfigured Proxy Server

  • 7006744
  • 27-Aug-2010
  • 08-Nov-2012

Environment

Novell Open Enterprise Server 2 (OES 2) Linux
SUSE Linux Enterprise Server 11
SUSE Linux Enterprise Server 10
Proxy

Situation

No proxy is configured in /etc/sysconfig/proxy, but the update server still attempts to connect to a proxy server.
The supportconfig updates.txt file shows the following:
 
#==[ Command ]======================================#
# /usr/bin/curl --verbose --capath /etc/ssl/certs/ --digest --remote-time --fail -u 8f8474ba163758acd332835bdc0ae9b0:fe81fa65746cd66f6d8d74135d1f63ab -O "https://nu.novell.com/repo/repoindex.xml" 2>curl.log
* About to connect() to proxy 192.168.145.2 port 8081
*   Trying 192.168.145.2... Connection refused
* couldn't connect to host
* Closing connection #0
 
curl: (7) couldn't connect to host
 
#==[ Command ]======================================#
# env | grep -i proxy
http_proxy=http://192.168.145.2:8081
https_proxy=https://192.168.145.2:8081
 
#==[ Configuration File ]===========================#
# /etc/sysconfig/proxy
PROXY_ENABLED="no"
HTTP_PROXY=""
HTTPS_PROXY=""
FTP_PROXY=""
GOPHER_PROXY=""
NO_PROXY="localhost, 127.0.0.1"

Resolution

The update process uses curl. Even though the proxy server is not configured in /etc/sysconfig/proxy, the update process uses curl. Curl will use the proxy defined by the environment variables http_proxy and https_proxy. If http_proxy or more importantly https_proxy is defined, a proxy is configured as far as curl is concerned; regardless of the /etc/sysconfig/proxy settings.
 
1. Try to log out and log back in as root, then run echo $https_proxy to see if the variable has been cleared.
2. If it has not been cleared, you will need to check your environment files to see if those variables have been manually configured.
3. If you cannot find the variables manually configured in an environment configuration file, try rebooting the server to see if the variables have been cleared.
4. If they still have not been cleared, the variables are being set in a configuration file you have not thought to look at yet. Keep looking until you find where they have been set. 
 
Some environment files to search include, but are not limited to:
 
/etc/profile
/etc/profile.local
/etc/profile.d/*
/etc/bash.bashrc
~/.profile
~/.bashrc
~/.curlrc