Vesta Control Panel - Forum

Community Forum

Skip to content

Advanced search
  • Quick links
    • Main site
    • Github repo
    • Google Search
  • FAQ
  • Login
  • Register
  • Board index Language specific forums Russian (Русский) Общие вопросы
  • Search

Let's Encrypt API

Общие вопросы о панели управления Vesta
Post Reply
  • Print view
Advanced search
2 posts • Page 1 of 1
snake
Posts: 8
Joined: Sun Nov 29, 2015 5:59 pm

Let's Encrypt API
  • Quote

Post by snake » Thu Jan 12, 2017 8:09 am

Привет, понадобилось добавить ssl для большого кол-во доменов, через веб интерфейс не вариант это делать, очень долго, поэтому накидал по быстрому скрипт на php. Но возникла проблема при добавлении сертификатов почему-то сильно грузится сервер и nginx падает.
nginx dead but pid file exists
Пробовал напрямую отправлять запросы на v-add-letsencrypt-domain или добавлять расписание через v-schedule-letsencrypt-domain, эффект один сервер ложится.

Как можно добавить большое кол-во сертификатов автоматически?

Код скрипта:

Code: Select all

foreach ($form->domains as $domain) {
    // Server credentials
    $vst_hostname = $servers[$skey]['address'];
    $vst_username = $servers[$skey]['users'][0][0];
    $vst_password = $servers[$skey]['users'][0][1];
    $vst_returncode = 'yes';
    $vst_command = 'v-add-letsencrypt-domain';

    // New Domain
    $username = $servers[$skey]['users'][$ukey][0];

    // Prepare POST query
    $postvars = array(
        'user' => $vst_username,
        'password' => $vst_password,
        'returncode' => $vst_returncode,
        'cmd' => $vst_command,
        'arg1' => $username,
        'arg2' => $domain,
        'arg3' => 'www.'.$domain,
        'arg4' => 'no',
    );

    // Send POST query via cURL
    $postdata = http_build_query($postvars);
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, 'https://' . $vst_hostname . ':8083/api/');
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata);
    $answer = curl_exec($curl);
}
Нагрузка во время работы скрипта
Image

Нагрузка после перезагрузки
Image
Top

snake
Posts: 8
Joined: Sun Nov 29, 2015 5:59 pm

Re: Let's Encrypt API
  • Quote

Post by snake » Thu Jan 12, 2017 12:55 pm

Почему-то указание аргумента [RESTART] в "no" не работает.
Top


Post Reply
  • Print view

2 posts • Page 1 of 1

Return to “Общие вопросы”



  • Board index
  • All times are UTC
  • Delete all board cookies
  • The team
Powered by phpBB® Forum Software © phpBB Limited
*Original Author: Brad Veryard
*Updated to 3.2 by MannixMD
 

 

cron

Login  •  Register

I forgot my password