見出し画像

SSL: CERTIFICATE_VERIFY_FAILED websocketをVPSサーバー 対処方法 BTCFXbot BitFlyerAPI

お名前デスクトップのVPSサーバーを使用して、ビットコインの自動botを運用しています。これまでビットフライヤーの公式APIのtickerを使用していましたが、より早い動きに対応するため、RealtimeAPIをwebsocketで購読する手順を採用しました。

参考までにwebsocketでリアルタイムデータを吐き出しただけのコードです。SFDbotに対抗したかったので。。。(もう賞味期限切れですが。。。)

自前のパソコンでコードを走らせたところ、Realtimeにデータが流れていたので、そのまま仮想サーバーにコピペしたのですが、動きませんでした。

SSL: CERTIFICATE_VERIFY_FAILEDってなんやねん?

よくわかりませんが、SSHの証明辺りの不具合だそうです。

pythonのバージョンアップやサーバーの再起動、windowsアップデートといろいろ試したのですが、どれも効果なく、このままでは仮想サーバーでwebsocketが使えません。

諦めかけたところ素晴らしいサイトを見付けたので、紹介します。

Windows環境下ではSSL通信の際に、適切なpemファイルを利用していないそうです。

そこでシステム環境変数に『SSL_CERT_FILE』を新規作成し、pythonディレクトリ内のcacert.pemのPATHを変数値としてコピペしました。

すると、エラーもなく動き始めました。

コントロールパネル > システムとセキュリティ > システム >システムの詳細

システム環境変数

変数名:SSL_CERT_FILE

変数値:cancert.pemのアドレス

cancert.pemはpythonのフォルダ内にあります。

このエラー対応に相当時間食らいました。

同じ悩みの方の参考になれば幸いです。

いいなと思ったら応援しよう!