httpProxy.createProxyServer({
target: {
protocol: 'https:',
host: 'my-domain-name',
port: 443,
pfx: fs.readFileSync('path/to/certificate.p12'),
passphrase: 'password', },
changeOrigin: true,
}).listen(4440);
Решение:
Добавьте прокси-сервер http и добавьте PKI к исходящим запросам, скажем, вы настроили прокси для прослушивания localhost: 4440, так что теперь вы делаете cy.visit (http://localhost:4440). Прокси-сервер перенаправляет запрос visit () к хосту: «my-domain-name» и добавляет PKI.
По какой-то причине, что бы Cypress ни делал под капотом, браузер Cypress не может загружать / пересылать сертификат PKI. Возможно, вам также понадобится установить сертификат на ваш исполняющий сервер db, используя cert utils https://www.systutorials.com/docs/linux/man/1-certutil/. Электронный браузер CY автоматически загрузит сертификат, установленный на базу данных, поэтому важно, чтобы у вас были только сертификаты, иметь права доступа к тестируемому приложению. Все это можно сделать в Ansible, если вы хотите работать в конвейере CI. Это была тяжелая работа, в которой участвовали некоторые командные усилия и отличный разработчик, которому нравится участвовать в тестировании. Cypress, как оказалось, стоил всех усилий, так что вряд ли вы надеетесь, что вы пересмотрите использование, если вы еще не решили его до сих пор.