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?
Любая помощь будет оценена по достоинству!
