[解決済み】ハンドシェイクに失敗しました。SSLアラート番号40
2022-02-20 20:27:09
質問
あるページをクロールしようとしていますが、うまくいきません。
>> scrapy shell "XXXXXX"
...
2018-12-28 17:23:32 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying <GET XXXXXXXX> (failed 1 times): [<twisted.python.failure.Failure OpenSSL.SSL.Error: [('SSL routines', 'ssl3_read_bytes', 'sslv3 alert handshake failure')]>]
2018-12-28 17:23:32 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying <GET XXXXXXXXXXXXX> (failed 2 times): [<twisted.python.failure.Failure OpenSSL.SSL.Error: [('SSL routines', 'ssl3_read_bytes', 'sslv3 alert handshake failure')]>]
2018-12-28 17:23:33 [scrapy.downloadermiddlewares.retry] DEBUG: Gave up retrying <GET XXXXXXXXXXXXXXXXX> (failed 3 times): [<twisted.python.failure.Failure OpenSSL.SSL.Error: [('SSL routines', 'ssl3_read_bytes', 'sslv3 alert handshake failure')]>]
Traceback (most recent call last):
File "/home/joaquin/Repos/extruct/env/bin/scrapy", line 11, in <module>
sys.exit(execute())
File "/home/joaquin/Repos/extruct/env/lib/python3.7/site-packages/scrapy/cmdline.py", line 150, in execute
_run_print_help(parser, _run_command, cmd, args, opts)
File "/home/joaquin/Repos/extruct/env/lib/python3.7/site-packages/scrapy/cmdline.py", line 90, in _run_print_help
func(*a, **kw)
File "/home/joaquin/Repos/extruct/env/lib/python3.7/site-packages/scrapy/cmdline.py", line 157, in _run_command
cmd.run(args, opts)
File "/home/joaquin/Repos/extruct/env/lib/python3.7/site-packages/scrapy/commands/shell.py", line 73, in run
shell.start(url=url, redirect=not opts.no_redirect)
File "/home/joaquin/Repos/extruct/env/lib/python3.7/site-packages/scrapy/shell.py", line 48, in start
self.fetch(url, spider, redirect=redirect)
File "/home/joaquin/Repos/extruct/env/lib/python3.7/site-packages/scrapy/shell.py", line 115, in fetch
reactor, self._schedule, request, spider)
File "/home/joaquin/Repos/extruct/env/lib/python3.7/site-packages/twisted/internet/threads.py", line 122, in blockingCallFromThread
result.raiseException()
File "/home/joaquin/Repos/extruct/env/lib/python3.7/site-packages/twisted/python/failure.py", line 467, in raiseException
raise self.value.with_traceback(self.tb)
twisted.web._newclient.ResponseNeverReceived: [<twisted.python.failure.Failure OpenSSL.SSL.Error: [('SSL routines', 'ssl3_read_bytes', 'sslv3 alert handshake failure')]>]
SSL接続を試すと、こうなります。
>> openssl s_client XXXXX.XXXX.XXXX:443
CONNECTED(00000003)
140087350686208:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:ssl/record/rec_layer_s3.c:1528:SSL alert number 40
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 323 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---
また、このページを
curl
は同じように起こります。
curl -i XXXX.XXXX.XXXX
curl: (35) error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure
を指定しようとすると
-servername
で
openssl
が、問題は解決しません。また
-tls1_2
はうまくいきません。TLSの情報です。
アップデイト
>> openssl version
OpenSSL 1.1.1a 20 Nov 2018
解決方法は?
全く同じ問題で検索していたら、この質問を見つけました (
curl
は接続に成功するが
openssl
で失敗します。
alert number 40
).
サーバに複数のバーチャルホストがあり、TLSハンドシェイクを成功させるために、どのホストに接続したいかを伝える必要があることに関連しているのかもしれません。
正確にホスト名を指定するには
-servername
パラメータを使用します。例
openssl s_client -connect yourserver.domain.com:443 -servername yourserver.domain.com
関連
-
[解決済み】ハンドシェイクに失敗しました。SSLアラート番号40
-
[解決済み] をカールします。(35) error:1408F10B:SSLルーチン:ssl3_get_record:バージョン番号が間違っています。
-
[解決済み] ssl : 証明書を読み込むことができません
-
[解決済み] Firefoxです。"このページの一部は、画像など安全ではありません。" 何をもって安全でないと判断するのでしょうか?
-
[解決済み] javax.net.ssl.SSLException: 利用可能な PSK がありません。再開不能
-
[解決済み] SNIとCCSを使用してhttpsのデフォルトのWebサイトを設定する方法
-
[解決済み] OpenSSLを使用して自己署名入りSSL証明書を生成する方法を教えてください。
-
[解決済み] node.js、socket.ioのSSL化
-
[解決済み] IISExpressでのSSL接続・接続解除について
-
[解決済み] SSL: エラー:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] OpenSSL: Experian URL の最初の証明書を検証できません。
-
[解決済み] をカールします。(35) error:1408F10B:SSLルーチン:ssl3_get_record:バージョン番号が間違っています。
-
[解決済み] チェーン処理中にローカル発行者証明書を取得できない
-
[解決済み] Firefoxです。"このページの一部は、画像など安全ではありません。" 何をもって安全でないと判断するのでしょうか?
-
[解決済み] Certbot が見つかりません。
-
[解決済み] .pemを.crtと.keyに変換する
-
[解決済み] node.js、socket.ioのSSL化
-
[解決済み] IISExpressでのSSL接続・接続解除について
-
[解決済み] 紛失したIIS Express SSL証明書を復元するにはどうすればよいですか?
-
[解決済み] Letsencryptが既存の証明書にドメインを追加する【非公開