Django-Nginx-React: как исправить ERR_CERT_COMMON_NAME_INVALID и проблемы с самоподписанным сертификатом
Я работаю над проектом, в котором для аутентификации используются SimpleJWT
токены, хранящиеся в HttpOnly
cookies. Архитектура включает в себя Django
бэкэнд, Nginx
сервер и React+Vite
фронтэнд. Ниже приведена конфигурация:
- Я создал самоподписанный центр сертификации (CA).
- Я выпустил два отдельных сертификата, подписанных одним и тем же центром сертификации: один для
Nginx
сервера (обслуживающегоDjango
бэкэнд) и один дляReact+Vite
приложения .
Когда я запускаю свое приложение React+Vite
на Google Chrome
и пытаюсь вызвать API входа /api/auth/login/
из бэкенда Djagno
, я получаю следующую ошибку:
POST https://172.x.x.x/api/auth/login/ net::ERR_CERT_COMMON_NAME_INVALID
Дополнительно я создал Node.js
проект для тестирования того же API, выполняя Axios
запросы. В этом случае я получаю
Error: self-signed certificate in certificate chain
Однако если я запускаю проект Node.js с NODE_TLS_REJECT_UNAUTHORIZED='0'
, API работает нормально, и я могу видеть куки HttpOnly
и правильный ответ от Django
.
Похоже, это связано с самоподписными сертификатами, но я не знаю, как решить эту проблему, чтобы Chrome правильно принимал сертификаты и разрешал установку файлов cookie. Я также ищу решение, которое не включает отключение проверки сертификатов с помощью NODE_TLS_REJECT_UNAUTHORIZED=0
.
Вопросы:
- Как решить проблему
ERR_CERT_COMMON_NAME_INVALID
в Chrome? - Как правильно настроить самоподписанные сертификаты, чтобы Chrome принимал их и правильно устанавливал куки HttpOnly?
Любая помощь будет оценена по достоинству!