Letsencrypt может быть крутой вещью, но мне просто не нравится запускать скрипт, который делает много неизвестных и недокументированных (возможно, необратимых) модификаций для моих производственных машин. Я хочу понять, как это работает и как установить его полностью вручную, без использования какого-либо автоматического секретного скрипта или инструментов.

Поэтому я получил сертификат, используя их инструмент, и вручную установил его на свой apache, для этого мне пришлось временно закрыть его и запустить встроенный веб-сервер, чтобы убедиться, что домен действительно принадлежит мне. К сожалению, весь letsencrypt имеет действительно очень плохую документацию, которая посвящена автоматическим вещам, которые просто должны работать из коробки, используя какую-то чёрную магию или что-то в этом роде, без необходимости вмешательства пользователя, поэтому он вообще не описывает, как это работает капот :(

Теперь я понял, что для возобновления сертификата мне нужно будет либо снова отключить мой веб-сервер (этого не произойдет), либо установить какой-то специальный модуль apache, который, как я полагаю, находится здесь: https://github.com/letsencrypt/letsencrypt/tree/master/letsencrypt-apache, к сожалению, абсолютно без документации о том, как это сделать вообще.

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

Как я могу это сделать? Как я могу скомпилировать модуль и настроить его так, чтобы он работал? Я понимаю, что letsencrypt использует что-то под названием "ACME", чтобы проверить, принадлежит ли вам домен, но кроме этого я не смог найти больше информации.

2 ответа2

3

Теперь я понял, что для возобновления сертификата мне нужно будет либо снова отключить мой веб-сервер (этого не произойдет), либо установить специальный модуль apache.

Все это не правда.

  • Используемые протоколы проверки подробно описаны в проекте спецификации ACME. Самый простой метод - «http-01», где вам нужно обслуживать определенный текстовый файл по HTTP.

  • Если у вас уже есть работающий веб-сервер, используйте режим --webroot и скажите LE, чтобы он поместил свой проверочный файл http-01 прямо в ваш /var/www/html или что-то подобное. Это не требует никакой специальной конфигурации большую часть времени.

  • Если вы не хотите никакой автоматической настройки, используйте letsencrypt certonly . Это и режим webroot упомянуты на странице « Начало работы» :

    Чтобы получить сертификат с помощью плагина «webroot», который может работать с каталогом webroot любого программного обеспечения веб-сервера:

    letsencrypt certonly --webroot -w /var /www /example -d example.com -d www.example.com -w /var /www /thing -d thing.is -d m.thing.is

    Эта команда получит один сертификат для example.com, www.example.com, thing.is и m.thing.is; он разместит файлы ниже /var /www /example для подтверждения контроля над первыми двумя доменами и под /var /www /thing для второй пары.

  • letsencrypt-apache не является модулем Apache; это дополнение для клиента LE, и оно просто используется для автоматической установки первого сертификата LE вместо того, чтобы делать это вручную. (В основном это то, что вы заявили, что вы не хотите.)

0

На вкладке «Дополнительно»

https://certbot.eff.org/#centosrhel6-apache

./path/to/certbot-auto --apache certonly

Затем вы можете изменить ваши httpd.conf и ssl.conf самостоятельно.

Извините, я не знаю, как запустить протокол ACME вручную.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .