Npm SELF_SIGNED_CERT_IN_CHAIN на Azure
Так как npm отказался от поддержки самоподписанных сертификатов вчера, я больше не могу устанавливать какие-либо пакеты из npm, работающие на Windows Azure.
На моей локальной машине я мог решить проблему, применив официальное исправление this.
Тем не менее, я не мог найти способ устранить проблему на моем экземпляре сайта. Есть идеи?
Ответы
Ответ 1
Пока мы обновляем NPM на Azure, один простой способ обойти это - создать пользовательское развертывание script (info здесь).
Вот пример репо, демонстрирующий, что настраивать: https://github.com/davidebbo-test/AzureNpmCertWorkaround. В частности, посмотрите этот коммит, который использует обходное решение npm config set ca ""
.
Если вы не хотите заниматься созданием специального развертывания script с помощью инструмента Azure, вы можете просто захватить .deployment
и deploy.cmd
из тестового репо и перенести их в корень вашего репо.
Ответ 2
Со вчерашнего дня (27 февраля 2014 года) NPM больше не поддерживает самоподписанные сертификаты: http://blog.npmjs.org/post/78085451721/npms-self-signed-certificate-is-no-more
Решение: либо
Обновите версию npm
npm update -g
- или -
Сообщите текущей версии npm для использования известных регистраторов
npm config set ca = ""
- или ---
В качестве последней версии разрешения я не предлагаю это для проблем безопасности, использование SSL всегда безопаснее, переключите свой реестр на использование HTTP вместо HTTPS:
npm config set registry = "http://registry.npmjs.org/"
Ответ 3
Вы не можете запустить npm install npm -g
. npm install
нарушается проблема, помните? Хороший совет от комментариев по почте в блоге npm, работал как шарм:
npm config set strict-ssl false
npm install npm -g
npm config set strict-ssl true
Возможно, вам понадобится использовать sudo
.
Ответ 4
Имя ошибки:
Ошибка: SELF_SIGNED_CERT_IN_CHAIN
Шаги, которые необходимо выполнить для преодоления этой ошибки:
1) Обновите Node.js и npm до последней версии,
2) Запустите эти три команды в последовательности.
-npm config set strict-ssl false
-npm update npm –g
-npm config set strict-ssl true
3) Задайте свойства proxy и https-proxy в конфигурации npm, используя следующие команды:
-npm config set proxy "http://<proxy-name>:8080"
-npm config set https-proxy "http://<proxy-name>:8080"