Invalid proxy configuration blocks server updates

  • 7006730
  • 25-Aug-2010
  • 08-Nov-2012

Environment

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

Situation

Attempting to update the server times out or errors out
A proxy server is configured for the server to use to obtain updates
curl times out when attempting to access the Novell update server through the local proxy.

# /usr/bin/curl --verbose https://nu.novell.com
* About to connect() to proxy 10.200.20.2 port 8081
*   Trying 10.200.20.2... Connection timed out
* couldn't connect to host
* Closing connection #0

curl: (7) couldn't connect to host

Recently configured a new proxy server, but the server is still attempting to use the old proxy server
The errors persist even though the /etc/sysconfig/proxy file has been configured properly

Resolution

Invalid proxy configuration. Manually setting the http_proxy or https_proxy environment variables may override the YaST proxy configuration. Check your environment files for the proxy variables.

One way to check many environment variables at once is to get a supportconfig and grep all its files for proxy settings. Supportconfig gathers many environment files for you.

supportconfig -t /tmp
cd /tmp/nts_*
grep -ni 'proxy=' *

In the example below 192.168.143.200 is the old invalid proxy, and newproxy.provider.com is the correct one. You would get output similar to the following:

# grep -ni 'proxy=' *
env.txt:945:http_proxy=https://192.168.143.200:8081
env.txt:952:ftp_proxy=https://192.168.143.200:8081
env.txt:967:https_proxy=https://192.168.143.200:8081
env.txt:975:no_proxy=localhost, 127.0.0.1
env.txt:1025:export http_proxy=https://192.168.143.200:8081
env.txt:1026:export https_proxy=https://192.168.143.200:8081
network.txt:542:HTTP_PROXY="http://newproxy.provider.com:8081"
network.txt:543:HTTPS_PROXY="http://newproxy.provider.com:8081"
network.txt:544:FTP_PROXY="http://newproxy.provider.com:8081"
network.txt:545:GOPHER_PROXY=""
network.txt:546:NO_PROXY="localhost, 127.0.0.1"
sysconfig.txt:539:HTTP_PROXY="http://newproxy.provider.com:8081"
sysconfig.txt:540:HTTPS_PROXY="http://newproxy.provider.com:8081"
sysconfig.txt:541:FTP_PROXY="http://newproxy.provider.com:8081"
sysconfig.txt:542:GOPHER_PROXY=""
sysconfig.txt:543:NO_PROXY="localhost, 127.0.0.1"
updates.txt:659:http_proxy=https://192.168.143.200:8081
updates.txt:660:ftp_proxy=https://192.168.143.200:8081
updates.txt:661:https_proxy=https://192.168.143.200:8081
updates.txt:662:no_proxy=localhost, 127.0.0.1
updates.txt:667:HTTP_PROXY="http://newproxy.provider.com:8081"
updates.txt:668:HTTPS_PROXY="http://newproxy.provider.com:8081"
updates.txt:669:FTP_PROXY="http://newproxy.provider.com:8081"
updates.txt:670:GOPHER_PROXY=""
updates.txt:671:NO_PROXY="localhost, 127.0.0.1"
updates.txt:676:proxy="http://curlproxy.provider.com:8008"

The filename followed by the line number and finally the proxy values found. Look on the line numbers shown for each file and remove any manually configured proxy settings or change them to the correct values. In this case the https_proxy variable is manually exported in the /etc/profile as shown on line 1026 of the supportconfig's env.txt file.