【ChatGPT】SSL認証

環境整備

問題の核心

  • curlOK、Python v0もOK。どちらもrequests + certifiWindowsの証明書ストアを自然に参照する。
  • Python v1 ( openai-python ≥1.x) は内部でHTTPXを使うようになり、最近のhttpx 0.28系にAzureルートをつかみ損なうバグがあってCERTIFICATE_VERIFY_FAILED起こるgithub.com

すぐ試せるワークアラウンド

バッシュコピー# 1) httpx を 0.27 系に戻す
pip install "openai>=1,<2" httpx==0.27.2
# 2) それでもダメな場合は CA バンドルを明示
pip install -U certifi
パイソンコピーimport certifi, httpx, openai
client = openai.AzureOpenAI(
    api_key=KEY, azure_endpoint=ENDPOINT, api_version="2024-02-01",
    http_client=httpx.Client(verify=certifi.where())   # ←ここ
)

これでほとんどの環境は解決コミュニティpython-httpx.org

PEMは誰が利用できますか?

  • 公開エンドポイントならユーザーが作成する必要はないcertifiに含まれたルートで十分。
  • 社内CA/プライベートリンクで「自己設定」なら管理者からルートCAを受け取るverify="path/to/ca.pem"指定として。 ユーザーが勝手に生成するものではない。

サーバー側作業が要る?
公開 Azure エンドポイントなら基本は不要。クライアント側(httpx + CA バンドル)の問題だという結論になるよ。

コメント

タイトルとURLをコピーしました