CurlはUbuntu 16.04の特定のWebサイトで中断されますが、更新されたバージョンの後でも18.04では中断されません。

CurlはUbuntu 16.04の特定のWebサイトで中断されますが、更新されたバージョンの後でも18.04では中断されません。

誰もが次のカールコマンドが中断される理由や診断方法を教えてもらえますか?

curl 'https://www.nasdaq.com/' -H 'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' -H 'Accept-Language: en-US,en;q=0.5' --compressed -H 'DNT: 1' -H 'Connection: keep-alive' -H 'Upgrade-Insecure-Requests: 1'

-vオプションで実行すると、出力は次のようになります(「Old SSL session ...」にぶら下がっています)。

*   Trying 104.81.179.248:443...
* Connected to www.nasdaq.com (104.81.179.248) port 443 (#0)
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /home/ubuntu/anaconda2/ssl/cacert.pem
  CApath: none
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN, server accepted to use http/1.1
* Server certificate:
*  subject: C=US; ST=Connecticut; L=Shelton; O=NASDAQ, INC.; CN=www.nasdaq.com
*  start date: Jun 15 00:00:00 2020 GMT
*  expire date: Oct 20 12:00:00 2020 GMT
*  subjectAltName: host "www.nasdaq.com" matched cert's "www.nasdaq.com"
*  issuer: C=US; O=DigiCert Inc; CN=DigiCert SHA2 Secure Server CA
*  SSL certificate verify ok.
> GET / HTTP/1.1
> Host: www.nasdaq.com
> Accept-Encoding: deflate, gzip
> User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0
> Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
> Accept-Language: en-US,en;q=0.5
> DNT: 1
> Connection: keep-alive
> Upgrade-Insecure-Requests: 1
> 
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* old SSL session ID is stale, removing

新しい AWS Ubuntu サーバー 16.04 および 18.04 Amazon AMI インスタンスを作成してカールコマンドを実行すると、16.04 では中断されますが、18.04 では中断されません. 14.04を実行している他のシステムでは、Condaを使用してカールとopensslを18.04システムよりも新しいバージョンに更新しましたが、最新バージョンにもかかわらずまだ機能しません。

以下は、14.04システムでcurl --versionを実行した結果です。

curl 7.71.1 (x86_64-conda_cos6-linux-gnu) libcurl/7.71.1 OpenSSL/1.1.1g zlib/1.2.11 libssh2/1.9.0
Release-Date: 2020-07-01
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS GSS-API HTTPS-proxy IPv6 Kerberos Largefile libz NTLM NTLM_WB SPNEGO SSL TLS-SRP UnixSockets

Ubuntu 18.04 AWSインスタンスで実行されているのと同じコンテンツは次のとおりです.

curl 7.58.0 (x86_64-pc-linux-gnu) libcurl/7.58.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3
Release-Date: 2018-01-24
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy PSL 

以下は、他の18.04システムでCondaのカールを使用し、うまく機能する同じコンテンツです。

curl 7.63.0 (x86_64-conda_cos6-linux-gnu) libcurl/7.63.0 OpenSSL/1.1.1g zlib/1.2.11 libssh2/1.8.0
Release-Date: 2018-12-12
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP UnixSockets HTTPS-proxy

両方のジョブ・システムは、HTTPS プロキシーを機能としてリストしますが、機能しないシステムではありません。これが問題になる可能性がありますか?

ベストアンサー1

ipv6私の場合は、たとえばUbuntuで無効にする必要がありました。

sysctl -w net.ipv6.conf.all.disable_ipv6=1
sysctl -w net.ipv6.conf.default.disable_ipv6=1

おすすめ記事