SSL: CERTIFICATE_VERIFY_FAILED при отправке форм в Django, запускаемых на Windows VPS с веб-сервером Apache [дубликат]Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 SSL: CERTIFICATE_VERIFY_FAILED при отправке форм в Django, запускаемых на Windows VPS с веб-сервером Apache [дубликат]

Сообщение Anonymous »

У меня есть сайт Django, размещенный на VPS (ОС Windows сервер 2019). Веб-сервер — Apache 2.4, версия Python — 3.12.8. SSL-сертификат Digicert успешно установлен, и веб-сайт работает по протоколу https. Однако я получаю эту ошибку, когда пытаюсь отправить форму входа или регистрации с рабочего веб-сайта:

Код: Выделить всё

URLError at /login-page/

Вот полная информация об ошибках:

Код: Выделить всё

URLError at /login-page/

Request Method: POST
Request URL:    https://www.mywebsite.com/login-page/
Django Version: 5.0.6
Exception Type: URLError
Exception Value:    
Exception Location: C:\Python 3.12.8\Lib\urllib\request.py, line 1347, in do_open
Raised during:  users_authentication.views._wrapped_view
Python Executable:  C:\Apache24\bin\httpd.exe
Python Version: 3.12.8
Python Path:    ['C:\\Apache24\\htdocs\\project',
'C:\\Python 3.12.8\\python312.zip',
'C:\\Python 3.12.8\\DLLs',
'C:\\Python 3.12.8\\Lib',
'C:\\Apache24\\bin',
'C:\\Python 3.12.8',
'C:\\Python 3.12.8\\Lib\\site-packages']
C:\Python 3.12.8\Lib\urllib\request.py, line 1344, in do_open
h.request(req.get_method(), req.selector, req.data, headers,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ …
C:\Python 3.12.8\Lib\http\client.py, line 1336, in request
self._send_request(method, url, body, headers, encode_chunked)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ …
C:\Python 3.12.8\Lib\http\client.py, line 1382, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ …
C:\Python 3.12.8\Lib\http\client.py, line 1331, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ …
C:\Python 3.12.8\Lib\http\client.py, line 1091, in _send_output
self.send(msg)
^^^^^^^^^^^^^^ …
C:\Python 3.12.8\Lib\http\client.py, line 1035, in send
self.connect()
^^^^^^^^^^^^^^ …
C:\Python 3.12.8\Lib\http\client.py, line 1477, in connect
self.sock = self._context.wrap_socket(self.sock,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ …
C:\Python 3.12.8\Lib\ssl.py, line 455, in wrap_socket
return self.sslsocket_class._create(
…
C:\Python 3.12.8\Lib\ssl.py, line 1041, in _create
self.do_handshake()
^^^^^^^^^^^^^^^^^^^ …
C:\Python 3.12.8\Lib\ssl.py, line 1319, in do_handshake
self._sslobj.do_handshake()
^^^^^^^^^^^^^^^^^^^^^^^^^^^ …
During handling of the above exception ([SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed:  unable to get local issuer certificate (_ssl.c:1000)), another exception occurred:
C:\Python 3.12.8\Lib\site-packages\django\core\handlers\exception.py, line 55, in inner
response = get_response(request)
^^^^^^^^^^^^^^^^^^^^^ …
C:\Python 3.12.8\Lib\site-packages\django\core\handlers\base.py, line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ …
C:\Apache24\htdocs\project\users_authentication\views.py, line 48, in _wrapped_view
return view_func(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ …
C:\Apache24\htdocs\project\users_authentication\views.py, line 142, in login_vf
if form.is_valid():
^^^^^^^^^^^^^^^ …
C:\Python 3.12.8\Lib\site-packages\django\forms\forms.py, line 197, in is_valid
return self.is_bound and not self.errors
^^^^^^^^^^^ …
C:\Python 3.12.8\Lib\site-packages\django\forms\forms.py, line 192, in errors
self.full_clean()
^^^^^^^^^^^^^^^^^ …
C:\Python 3.12.8\Lib\site-packages\django\forms\forms.py, line 327, in full_clean
self._clean_fields()
^^^^^^^^^^^^^^^^^^^^ …
C:\Python 3.12.8\Lib\site-packages\django\forms\forms.py, line 339, in _clean_fields
value = field.clean(value)
^^^^^^^^^^^^^^^^^^ …
C:\Python 3.12.8\Lib\site-packages\django\forms\fields.py, line 205, in clean
self.validate(value)
^^^^^^^^^^^^^^^^^^^^ …
C:\Python 3.12.8\Lib\site-packages\django_recaptcha\fields.py, line 69, in validate
check_captcha = client.submit(
…
C:\Python 3.12.8\Lib\site-packages\django_recaptcha\client.py, line 64, in submit
response = recaptcha_request(params)
^^^^^^^^^^^^^^^^^^^^^^^^^ …
C:\Python 3.12.8\Lib\site-packages\django_recaptcha\client.py, line 39, in recaptcha_request
return opener.open(
…
C:\Python 3.12.8\Lib\urllib\request.py, line 515, in open
response = self._open(req, data)
^^^^^^^^^^^^^^^^^^^^^ …
C:\Python 3.12.8\Lib\urllib\request.py, line 532, in _open
result = self._call_chain(self.handle_open, protocol, protocol +
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ …
C:\Python 3.12.8\Lib\urllib\request.py, line 492, in _call_chain
result = func(*args)
^^^^^^^^^^^ …
C:\Python 3.12.8\Lib\urllib\request.py, line 1392, in https_open
return self.do_open(http.client.HTTPSConnection, req,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ …
C:\Python 3.12.8\Lib\urllib\request.py, line 1347, in do_open
raise URLError(err)
Ниже показано, как выглядит моя HTML-страница входа в систему:

Код: Выделить всё

    
{% csrf_token %}

Login
{{form|crispy}}


Login


Ниже представлена ​​форма из приложения проекта:

Код: Выделить всё

class LoginForm(forms.Form):
email = forms.EmailField()
password = forms.CharField(widget=forms.PasswordInput)
captcha = ReCaptchaField(widget=CustomReCaptchaV2Checkbox())
Мне безуспешно исследовалось несколько решений, предложенных в предыдущих темах, с похожей ошибкой:

Код: Выделить всё

pip install pip-system-certs

Код: Выделить всё

pip install certifi

Код: Выделить всё

python -m pip install pip-system-certs --use-feature=truststore
Я также установил REQUETS_CA_BUNDLE в переменную среды.

Подробнее здесь: https://stackoverflow.com/questions/793 ... windows-vp
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»