Environment
Novell Open Enterprise Server 2 (OES 2) Linux
SUSE Linux Enterprise Server 11
SUSE Linux Enterprise Server 10
Proxy
SUSE Linux Enterprise Server 11
SUSE Linux Enterprise Server 10
Proxy
Situation
The server cannot connect to the update server due to proxy errors
The server attempts to connect directly to the update server, instead of using the configured proxy server
The server is configured to access a proxy server, but fails to connect
The supportconfig updates.txt file may show the following:
#==[ Command ]======================================#
# /usr/bin/curl --verbose --capath /etc/ssl/certs/ --digest --remote-time --fail -u 8f8474ba172c4959bad2835bdc0ae9b0:fe81fa3c28fa4d909e8d74135d1f63ab -O "https://nu.novell.com/repo/repoindex.xml" 2>curl.log
* About to connect() to nu.novell.com port 443
* Trying 96.7.150.34... connected
* Connected to nu.novell.com (96.7.150.34) port 443
* successfully set certificate verify locations:
<--snip-->
#==[ Command ]======================================#
# env | grep -i proxy
#==[ Configuration File ]===========================#
# /etc/sysconfig/proxy
PROXY_ENABLED="yes"
HTTP_PROXY="https://192.168.143.200:8081"
HTTPS_PROXY="https://192.168.143.200:8081"
FTP_PROXY="https://192.168.143.200:8081"
GOPHER_PROXY=""
NO_PROXY="localhost, 127.0.0.1"
The server attempts to connect directly to the update server, instead of using the configured proxy server
The server is configured to access a proxy server, but fails to connect
The supportconfig updates.txt file may show the following:
#==[ Command ]======================================#
# /usr/bin/curl --verbose --capath /etc/ssl/certs/ --digest --remote-time --fail -u 8f8474ba172c4959bad2835bdc0ae9b0:fe81fa3c28fa4d909e8d74135d1f63ab -O "https://nu.novell.com/repo/repoindex.xml" 2>curl.log
* About to connect() to nu.novell.com port 443
* Trying 96.7.150.34... connected
* Connected to nu.novell.com (96.7.150.34) port 443
* successfully set certificate verify locations:
<--snip-->
#==[ Command ]======================================#
# env | grep -i proxy
#==[ Configuration File ]===========================#
# /etc/sysconfig/proxy
PROXY_ENABLED="yes"
HTTP_PROXY="https://192.168.143.200:8081"
HTTPS_PROXY="https://192.168.143.200:8081"
FTP_PROXY="https://192.168.143.200:8081"
GOPHER_PROXY=""
NO_PROXY="localhost, 127.0.0.1"
Resolution
Even though a proxy is configured correctly in the /etc/sysconfig/proxy file, curl uses the http_proxy and https_proxy environment variables to know how to properly use a proxy server. If these variables are not set in curl's session environment, curl will not use the proxy server and updates will not occur as expected.
1. Try to log out and log back in. The environment variables will be set and the updates should work. To check the environment, run:
env | grep -i proxy
2. If logging out does not work, try rebooting the server; then retest.
3. If rebooting does not work, you are clearing or unsetting the http_proxy or https_proxy variables in the environment. Search your environment files for entries like the following, and remove them so the variables can be set properly by the /etc/sysconfig/proxy file.
http_proxy=""
https_proxy=""
unset http_proxy
unset https_proxy
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
1. Try to log out and log back in. The environment variables will be set and the updates should work. To check the environment, run:
env | grep -i proxy
2. If logging out does not work, try rebooting the server; then retest.
3. If rebooting does not work, you are clearing or unsetting the http_proxy or https_proxy variables in the environment. Search your environment files for entries like the following, and remove them so the variables can be set properly by the /etc/sysconfig/proxy file.
http_proxy=""
https_proxy=""
unset http_proxy
unset https_proxy
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