Запросы Python проверяют сертификат в производстве

Я новичок в Django, python и у меня есть приложение на Django 2.2 и оно взаимодействует с vCenter REST API. У меня есть два сервера Сервер 1: 10.125.65.70 Сервер 2: 10.126.80.80

В разработке я использую verify = False Но я не могу использовать это в производстве.

Я хотел бы создать условие if, которое проверяет, хотим ли мы установить соединение с проверкой сертификата или без нее.

Я не могу использовать это verify='/path/to/public_key.pem', потому что в производстве я использую два разных сертификата между Vcsa(Server).

import requests
import os
import json
from requests.packages.urllib3.exceptions import InsecureRequestWarning


requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
os.environ["REQUESTS_CA_BUNDLE"] = os.path.join("/etc/ssl/certs/")
req = requests.Session()
req.verify = False


class VmwareApi:
    def __init__(self):
        self.ip = ""
        self.user = ""
        self.password = ""
        self.arg1 = ""
        self.ses = ""
        self.params = ""

    def session(self):
        try:
            a = req.post(
                "https://" + self.ip + "/api/session",
                auth=(self.user, self.password),
                timeout=1,
                verify=False,
            )
            self.ses = str(a.json())
        except requests.exceptions.Timeout:
            return "ConnectTimeoutError"
        return req

    def param_loader(self):
        if self.params:
            self.params = json.loads(self.params)

    def vapirequestget(self):
        try:
            VmwareApi.param_loader(self)
            myreq = req.get(
                "https://" + self.ip + self.arg1,
                params=self.params,
                verify=False,
                headers={"vmware-api-session-id": self.ses},
                timeout=1,
            )
            return myreq
        except requests.exceptions.Timeout:
            return "ConnectTimeoutError"
Вернуться на верх