Por que recebo “Protocolo http não suportado ou desativado no libcurl”?

2

Estou tentando adicionar um repositório ao meu OpenSUSE Leap 42.3 (em execução no WSL) com o seguinte comando.

sudo zypper addrepo https://download.opensuse.org/repositories/devel:languages:php/openSUSE_Leap_42.3/devel:languages:php.repo

Eu recebo o seguinte erro.

Download (curl) error for 'https://download.opensuse.org/repositories/devel:languages:php/openSUSE_Leap_42.3/devel:languages:php.repo': Error code: Bad URL Error message: Protocol http not supported or disabled in libcurl

Acho confuso o fato de a mensagem de erro estar falando de http quando estou usando https como protocolo, e ainda mais confuso de que a saída de curl --version sugere https é um protocolo suportado.

curl 7.37.0 (x86_64-suse-linux-gnu) libcurl/7.37.0 OpenSSL/1.0.2j zlib/1.2.8 libidn/1.28 libssh2/1.4.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp
Features: AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP

Com zypper info libssl43 , recebo a seguinte saída.

Information for package libssl43:
---------------------------------
Repository     : oss
Name           : libssl43
Version        : 2.5.3-6.1
Arch           : x86_64
Vendor         : openSUSE
Installed Size : 360.0 KiB
Installed      : Yes
Status         : up-to-date
Source package : libressl-2.5.3-6.1.src
Summary        : An SSL/TLS protocol implementation
Description    :
    LibreSSL is an open-source implementation of the Secure Sockets Layer
    (SSL) and Transport Layer Security (TLS) protocols. It derives from
    OpenSSL and intends to provide a more secure implementation.

A saída de zypper info libcrypto41 é a seguinte. (libcrypto41 é uma dependência de libssl43.)

Information for package libcrypto41:
------------------------------------
Repository     : oss
Name           : libcrypto41
Version        : 2.5.3-6.1
Arch           : x86_64
Vendor         : openSUSE
Installed Size : 2.0 MiB
Installed      : Yes (automatically)
Status         : up-to-date
Source package : libressl-2.5.3-6.1.src
Summary        : An SSL/TLS protocol implementation
Description    :
    The "crypto" library implements a wide range of cryptographic
    algorithms used in various Internet standards. The services provided
    by this library are used by the LibreSSL implementations of SSL, TLS
    and S/MIME, and they have also been used to implement SSH, OpenPGP,
    and other cryptographic standards.

Como posso usar URLs https? Eu poderia usar http, mas preferiria não passar por esse caminho.

    
por kiamlaluno 22.10.2017 / 15:16

2 respostas

4

Encontrei Tópico: zypper https urls: Protocolo" http "não suportado ou desabilitado no libcurl , que contém um link para Tópico: Arquivos em cache em /home/~/.cache/kioexec/krun/#### _ #? Como evitar?

Seguindo o que foi dito nesses posts, eu tentei curl https://download.opensuse.org/repositories/devel:languages:php/openSUSE_Leap_42.3/devel:languages:php.repo , o que gera o seguinte.

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="http://download.opensuse.org/repositories/devel:languages:/php/openSUSE_Leap_42.3/devel:languages:php.repo">here</a>.</p>
<hr>
<address>Apache/2.2.34 (Linux/SUSE) Server at download.opensuse.org Port 443</address>
</body></html>

Portanto, https://download.opensuse.org/repositories/devel:languages:php/openSUSE_Leap_42.3/devel:languages:php.repo é redirecionado para http://download.opensuse.org/repositories/devel:languages:/php/openSUSE_Leap_42.3/devel:languages:php.repo e, como o redirecionamento é de https: // para http: //, ele não é seguido por Zypper.

Em suma, o servidor ainda não está funcionando usando https: // URLs, e a alternativa temporária é usar URLs http: //. Nada está errado na minha instalação do OpenSuse 42.3.

    
por 26.10.2017 / 16:58
1

Como solução alternativa, você pode adicionar manualmente (como root) o seguinte arquivo em /etc/zypp/repos.d/php.repo com conteúdo

[devel_languages_php]
name=devel:languages:php (openSUSE_Leap_42.3)
type=rpm-md
baseurl=http://download.opensuse.org/repositories/devel:/languages:/php/openSUSE_Leap_42.3/
gpgcheck=1
gpgkey=http://download.opensuse.org/repositories/devel:/languages:/php/openSUSE_Leap_42.3/repodata/repomd.xml.key
enabled=1

que é o conteúdo da URL acima: link

    
por 09.01.2018 / 16:03