Die Überprüfung des Azure Search Python SDK-SSL-Zertifikats ist in der offenen Web-Benutzeroberfläche (Docker) fehlgeschPython

Python-Programme
Anonymous
 Die Überprüfung des Azure Search Python SDK-SSL-Zertifikats ist in der offenen Web-Benutzeroberfläche (Docker) fehlgesch

Post by Anonymous »

Problem:
Ich frage Azure AI Search über Open WebUI ab (Docker unter WSL Ubuntu 24). Das azure-search-documents SDK schlägt mit Fehlern bei der SSL-Zertifikatsüberprüfung fehl, aber der gleiche Code funktioniert einwandfrei im Windows Jupyter-Notebook.
Fehler:
[SSL: CERTIFICATE_VERIFY_FAILED] Zertifikatüberprüfung fehlgeschlagen: Lokales Ausstellerzertifikat konnte nicht abgerufen werden (_ssl.c:1016)
Umgebung:
Docker-Container auf WSL Ubuntu 24
Python 3.11.13
Unternehmensnetzwerk mit benutzerdefinierten Root-CA-Zertifikaten und Zscaler-Proxy
Azure OpenAI-Aufrufe funktionieren problemlos aus derselben Docker-Umgebung mit aiohttp
Code, der fehlschlägt:

Code: Select all

from azure.search.documents import SearchClient
from azure.search.documents.models import VectorizableTextQuery
from azure.core.credentials import AzureKeyCredential

credential = AzureKeyCredential(api_key)
search_client = SearchClient(
endpoint="https://gherkinrag-search.search.windows.net",
credential=credential,
index_name="py-gherkin-idx",
> )

results = search_client.search(
search_text=None,
vector_queries=[VectorizableTextQuery(text=query, k_nearest_neighbors=5, fields="text_vector")],
select=["chunks"],
top=3,
> )
Was ich versucht habe:
Firmen-Root-CA-Zertifikate von Windows exportiert, in PEM konvertiert, zu /usr/local/share/ca-certificates/ hinzugefügt, update-ca-certificates ausgeführt (hinzugefügt bestätigt)
Umgebungsvariablen festlegen: SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt, REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
Installiert: pip-system-certs, truststore, python-certifi-win32
Benutzerdefinierten Transport mit deaktivierter SSL-Verifizierung ausprobiert:

Code: Select all

from azure.core.pipeline.transport import RequestsTransport
import requests

session = requests.Session()
session.verify = False
transport = RequestsTransport(session=session)

search_client = SearchClient(endpoint, credential, index_name, transport=transport)
Nichts davon funktioniert. Das SDK schlägt immer noch mit demselben SSL-Fehler fehl.
Frage: Wie kann ich dafür sorgen, dass das Azure Search Python SDK meine Unternehmenszertifikate in Docker erkennt, oder gibt es eine Möglichkeit, die Azure Search REST API direkt mit aiohttp aufzurufen, um das SDK zu umgehen?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post