Содержание
Что такое сертификат прокси-сервера и зачем он нужен в Cypress?
Сертификаты SSL/TLS обеспечивают безопасное соединение между клиентом и сервером. При работе с Cypress через прокси ошибки сертификатов — частая проблема. Это происходит, когда прокси использует самоподписанный сертификат или цепочка доверия не настроена корректно.
Как настроить Cypress для работы с прокси-сервером
- Добавьте прокси в конфигурационный файл
cypress.config.js
:module.exports = { proxyUrl: 'https://your-proxy:port', env: { NODE_EXTRA_CA_CERTS: '/path/to/certificate.crt' } }
- Установите переменную окружения:
export NODE_EXTRA_CA_CERTS=/usr/local/share/ca-certificates/proxy-cert.crt
- Для запуска через CLI используйте флаг:
cypress run --proxy-server=http://proxy:8080
Типичные ошибки сертификатов и их решение
- ERR_TLS_CERT_ALTNAME_INVALID — проверьте CN и SAN в сертификате
- CERT_HAS_EXPIRED — обновите сертификат прокси
- UNABLE_TO_VERIFY_LEAF_SIGNATURE — добавьте промежуточные сертификаты
FAQ: Частые вопросы
Как игнорировать ошибки сертификатов в тестах?
Используйте параметр chromeWebSecurity: false
в настройках, но помните о рисках безопасности.
Почему сертификат работает в браузере, но не в Cypress?
Cypress использует собственный хранилище сертификатов. Добавьте сертификат в систему:
# Linux sudo cp cert.crt /usr/local/share/ca-certificates/ sudo update-ca-certificates # Windows Import-Certificate -FilePath .cert.crt -CertStore Cert:LocalMachineRoot
Как проверить валидность сертификата прокси?
Используйте OpenSSL:
openssl s_client -connect proxy:443 -showcerts