Let's Encrypt API
Let's Encrypt API
Привет, понадобилось добавить ssl для большого кол-во доменов, через веб интерфейс не вариант это делать, очень долго, поэтому накидал по быстрому скрипт на php. Но возникла проблема при добавлении сертификатов почему-то сильно грузится сервер и nginx падает.
Как можно добавить большое кол-во сертификатов автоматически?
Код скрипта:
Нагрузка во время работы скрипта

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

Пробовал напрямую отправлять запросы на v-add-letsencrypt-domain или добавлять расписание через v-schedule-letsencrypt-domain, эффект один сервер ложится.nginx dead but pid file exists
Как можно добавить большое кол-во сертификатов автоматически?
Код скрипта:
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);
}

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

Re: Let's Encrypt API
Почему-то указание аргумента [RESTART] в "no" не работает.