
Ubuntu サーバーから SSL 経由で特定のサーバーに接続できないようです。ローカルの Mac では問題なく動作します。
サーバーアドレス: powerschool.spokaneschools.org
curl -v https://powerschool.spokaneschools.org
出力:
- URL を再構築しました:https://powerschool.spokaneschools.org/
- ホスト名がDNSキャッシュに見つかりませんでした
- 206.193.1.72 を試行しています...
- powerschool.spokaneschools.org (206.193.1.72) ポート 443 (#0) に接続しました
- 証明書検証場所を正常に設定しました:
- CAファイル: なし CAパス: /etc/ssl/certs
- SSLv3、TLSハンドシェイク、クライアントhello(1):
- powerschool.spokaneschools.org への接続中に不明な SSL プロトコル エラーが発生しました:443
- 接続 0 curl を閉じています: (35) powerschool.spokaneschools.org:443 への接続で不明な SSL プロトコル エラーが発生しました
openssl s_client -connect powerschool.spokaneschools.org:443
出力:
CONNECTED(00000003)
write:errno=104
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 0 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : SSLv3
Cipher : 0000
Session-ID:
Session-ID-ctx:
Master-Key:
Key-Arg : None
PSK identity: None
PSK identity hint: None
SRP username: None
Start Time: 1466726411
Timeout : 7200 (sec)
Verify return code: 0 (ok)
---
さまざまな SSL チェック ツールでサイトをチェックしてみましたが、すべて問題ないようです (いくつかのセキュリティの問題を除く)。そのドメイン内でも、他のサーバーに接続しても問題はありません。
OS
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.4 LTS
Release: 14.04
Codename: trusty
$ curl -V
curl 7.35.0 (x86_64-pc-linux-gnu) libcurl/7.35.0 OpenSSL/1.0.1f zlib/1.2.8 libidn/1.28 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smtp smtps telnet tftp
Features: AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP
$ openssl version -a
OpenSSL 1.0.1f 6 Jan 2014
built on: Mon May 2 16:53:18 UTC 2016
platform: debian-amd64
options: bn(64,64) rc4(16x,int) des(idx,cisc,16,int) blowfish(idx)
compiler: cc -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
OPENSSLDIR: "/usr/lib/ssl"
答え1
これは私の場合はうまくいきましたし、あなたの curl/openssl バージョンでもうまくいくはずです。errno 104 は接続のリセットを意味するので、ファイアウォールのようなミドルボックスが問題を引き起こしていると思われます。ファイアウォールが関係していないことを確認できる別のネットワークから確認してください。