
Pythonを使ってこのブログでランダム記事を抽出することにしました。
(実は完成して、現在サイドバーにそっと実装しています。)
ChatGPTに相談しながら進めていたのですが、途中でエラーが出て、躓きながらの設置となりました。
最初のエラーがこれ。このブログへの接続のどこかでエラーが発生すると。
ブログ自体は普通に見ることができているので、何が問題なのか分からない…
と思っていたら、ChatGPTに以下を試すように言われました。
<python>
import requests
import certifi
url = "このサイトのサイトマップのURL"
try:
res = requests.get(url, verify=certifi.where()) # 最新のCA証明書で検証
print("通信成功:", res.status_code)
except Exception as e:
print("通信失敗:", e)
実行してみたところ、以下の結果。
通信失敗: HTTPSConnectionPool(host='url', port=): Max retries exceeded with url: /●●●.xml (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1028)')))
ChatGPTに意味を教えて貰おう
各要素の意味:
HTTPSConnectionPool:HTTPS 通信を試みている接続プール。
host='url':接続先ホスト(ここでは実際の URL がマスクされています)。
Max retries exceeded:何度か接続を試みたが、すべて失敗した。
SSLError / SSLCertVerificationError:SSL の証明書の検証エラー。
certificate verify failed: certificate has expired:証明書の検証に失敗。原因は「証明書の有効期限切れ」。
何の知識もなくてもできてしまう。生成AI おそるべし。
で、何のことかというと、私のドメインは Xserver で取得しているのですが、そのSSL証明書の有効期限が切れているっぽいんですよね。
そういえば、いろいろ設定を弄っているせいか、何か月か前に、SSLサーバー証明書の更新ができなかったってメールがきていたような…(=゚ω゚)

複数年契約の場合でも、証明書の有効期間は最大397日となるため、サイトシールをクリックしたときに表示されるSSL証明書の有効期間とご案内メールや管理パネル上に記載されている「契約終了日」が異なる場合があります。
対象のドメイン名のネームサーバーが当社指定のものとなっている場合は、契約期間内であれば、SSL証明書の有効期間が自動的に延長されます。
対象のドメイン名のネームサーバーが当社以外のものとなっている場合は、お客様ご自身でSSL証明書の有効期間を延長する必要があります。
基本的にSSL証明書の有効期間は自動延長されるけど、状況によっては自動延長されないことがあると。
SSLは Secure Sockets Layer の略。インターネット上で、電子データを送受信する時に、暗号化する技術の一つ。現在では、SSL証明書というと、SSL/TLSの技術を用いて、認証局(CA)が発行する電子証明書のことを指すそうです。
SSL証明書の有効期限が切れていると、場合によっては、「この接続はプライバシーが保護されない」などの警告が出て、サイトへのアクセスが遮断されてしまうことがあるようです。また、通信が暗号化されなくなって、セキュリティ面で問題になることもあります。
今回、私のドメインのSSL証明書の有効期限は切れていました。はてなブログは全サイトがHTTPS化されているので、もしかしたらその関係でサイトのアクセスは可能だったのかもしれません(想像)。ただ、SSL証明書へ直接アクセスするものは弾かれてしまった状況なのではないかと推測。とりあえず、SSL証明書の有効期限を更新してみるのがよさそうです。
ということで、Xserver のサーバーパネルで、手動でSSL証明書の有効期間更新の申請をしてきました。
反映には少し時間がかかるらしいので、待つことに。

待つこと一晩。
うまくいくか若干不安でしたが、前日にエラーになったものを今朝試してみたら、無事「通信成功」になりました。
よかった。これで進めることができます♪
まとめ
- SSL証明書の有効期限が切れると、場合によってはサイトにアクセスできなくなることがある。
- Xserver の無料独自SSL証明書の有効期限がきれると自動的に延長されないことがある。
- 自動的に延長されない時には手動で更新すること。



