En un RedHat EL 5, al hacer un yum con proxy recibo el siguente mensaje: “Error: Cannot open/read repomd.xml file for repository: rhel-i386-server-5″
# cat /etc/redhat-release Red Hat Enterprise Linux Server release 5 (Tikanga) # export http_proxy="http://localhost:8888" # yum update Loading "rhnplugin" plugin Loading "installonlyn" plugin Setting up Update Process Setting up repositories Error: Cannot open/read repomd.xml file for repository: rhel-i386-server-5
En el proxy recibimos lo siguiente:
[Fiddler] Request Header parsing failed. Request was: 43 4F 4E 4E 45 43 54 20 78 6D 6C 72 70 63 2E 72 68 6E 2E 72 65 64 68 61 CONNECT xmlrpc.rhn.redha 74 2E 63 6F 6D 3A 34 34 33 20 48 54 54 50 2F 31 2E 31 0D 0A 0D 0A t.com:443 HTTP/1.1....
Encontre la solucion googleando un poco (solo una pagina hablaba de ello), pero probe la solucion y funciono:
It’s a bug in the crypto lib of python. It doesn’t add the HOST in the
headers of the HTTP/1.1.
Hay que editar el fichero /usr/lib/python2.4/site-packages/M2Crypto/httpslib.py en la maquina y añadir la linea siguiente entre las lineas 165 y 166:
msg = msg + "Host: %s:%d\\r\\n" % (self._real_host, self._real_port)
Quedando asi:
def _get_connect_msg(self):
""" Return an HTTP CONNECT request to send to the proxy. """
msg = "CONNECT %s:%d HTTP/1.1\\r\\n" % (self._real_host, self._real_port)
msg = msg + "Host: %s:%d\\r\\n" % (self._real_host, self._real_port)
if self._proxy_auth:
msg = msg + "%s: %s\\r\\n" % (self._AUTH_HEADER, self._proxy_auth)
msg = msg + "\\r\\n"
return msg
Una vez hecho esto, ya funciona bien:
# yum check-update Loading "rhnplugin" plugin Loading "installonlyn" plugin Setting up repositories rpmforge 100% |=========================| 1.1 kB 00:00 rhel-i386-server-5 100% |=========================| 1.4 kB 00:00 Reading repository metadata in from local files primary.xml.gz 100% |=========================| 1.5 MB 00:00 ################################################## 6175/6175 primary.xml.gz 100% |=========================| 1.1 MB 00:05 ################################################## 3219/3219