Unable to perform curl request under chrooted user on CentOS: Unable to initialize NSS

Follow

Comments

12 comments

  • Avatar
    Константин к

    hi

    I have same error on centos 7 php 5.6 curl https request

    how can I fix it?

  • Avatar
    Alexandr Tumanov

    Константин, решение описано для данного случая в статье. Если у вас возникли какие то дополнительные проблемы - опишите их.

  • Avatar
    Константин к

    есть тривиальный пхп скрипт, который запрашивает https страницу

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    //curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    //curl_setopt($ch, CURLOPT_CAINFO, 'cacert.pem');
    curl_setopt($ch, CURLOPT_SSLVERSION, 3);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, FALSE);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    $returnInfo = curl_exec($ch);

    скрипт запускается на центос7, и я получаю такую ошибку

    Initializing NSS with certpath: sql:/etc/pki/nssdb
    * Unable to initialize NSS database
    * Initializing NSS with certpath: none
    * Unable to initialize NSS
    * Closing connection 0

     

    этот же скрипт нормально отрабатывает на центос6(там тоже nss только ниже версия) и на убунту 16

    что делал на центос7- снес пхп и ставил 5.6, 7.0, 7.1, копировал /etc/pki/nssdb  с центос6 на центос7 но ничего не помогло

    в итоге удалил каталог /etc/pki/nssdb  на центос7 и заработало

    вопрос-как правильно решить мою проблему?

  • Avatar
    Alexandr Tumanov

    @Константин, вышеупомянутая инструкция не решила проблему? Вы включили chrooted environment для пользователя под которым выполняется данный скрипт?

  • Avatar
    Константин к

    пхп скрипт выполняет апач

    в статье не понятное решение-у меня нету такого пути для копирования,

  • Avatar
    Ivan Postnikov

    @Константин

    Здравствуйте,

    # cp /lib64/libsoftokn3.so /var/www/vhosts/example.com/usr/lib64/

    во всех командах "example.com" нужно заменить на реальное название домена, на котором наблюдается подобное поведение.

    Если у Вас отсутствует 

    /usr/bin/strace

    То перед копированием установите утилиту strace командой:

    yum install strace
  • Avatar
    Константин к

    у меня нету пути /var/www/vhosts

    ls /var/www
    cgi-bin  error  html  icons  usage

    find / -type d -name vhosts не нашло

  • Avatar
    Ivan Postnikov

    @Константин

    /var/www/vhosts - это стандартное расположение доменов в Plesk.

    Возможно, на Вашем сервере, домены перенесены в другую папку, это могло быть сделано с применением данной статьи.

    В таком случае /var/www/vhosts/example.com следует заменить на на директорию, где фактически находится домен на Вашем сервере.

    Также рассмотрите возможность создать заявку в Техническую Поддержку Plesk.

     

     

     

  • Avatar
    Константин к

     у меня панель sentora а не плеск

    но разве это  зависит от панели?

  • Avatar
    Pavel Rozental

    @Константин

    У различных хостинг панелей расположение директорий виртуальных хостов может отличаться.

    В данной статье описано решение в случае если chroot включен для подписки в Plesk.

    Пожалуйста обратитесь в техническую поддержку Sentora для выяснения причины на Вашем сервере.

  • Avatar
    Константин к

    хотелось бы понять принцип решения проблемы

    панель это же по сути лишь средство управления сервером

    я например не пойму как копирование файлов so в каталог сайта /example.com/usr/lib64/ поможет решить проблему?

    врядли апач будет там их искать

     

     

     

  • Avatar
    Ivan Postnikov

    @Константин

    Сhrooted environment предполагает отсутствие доступа куда-либо, кроме файлов, содержащихся в каталоге домена.

    NSS - библиотеки для работы SSL, TLS.

    При активации Chrooted environment на подписке библиотеки должны находиться в директории подписки (для Plesk это /var/www/vhosts/example.com/usr/lib64/), иначе доступ до этих библиотек будет отсутствовать.

    Также обратите внимание, что недавно был выпущен Plesk 17.8, попробовать его можно совершенно бесплатно, триальная лицензия активируется сразу после установки на 14 дней.

    Для дальнейшего решения проблемы с Sentora обратитесь в их техническую поддержку.

Please sign in to leave a comment.

Have more questions? Submit a request