Конфигурация Nginx использует certbot для автоматической подачи заявки на сертификаты HTTPS.
Конфигурация Nginx использует certbot для автоматической подачи заявки на сертификаты HTTPS.

Конфигурация Nginx использует certbot для автоматической подачи заявки на сертификаты HTTPS.

Ван Сяньсен2024-06-272024-06-27

введение

В сегодняшней среде Интернета,веб-сайтиз Безопасность Секс привлекает все больше и больше внимания。HTTPS Будучи протоколом, обеспечивающим зашифрованную связь и проверяющим подлинность веб-сайта, он стал основным стандартом безопасности веб-сайтов. Однако многие платформы предлагают HTTPS Сертификаты часто имеют срок действия.,напримерТенсент Облакождать В настоящее время платформа предоставляетиз Сертификаттолько3месяцыиз Срок действия。Это не только увеличивает Сертификатуправлятьизсложность,Доступ к веб-сайту также может быть прерван из-за истечения срока действия сертификата.

Чтобы решить эту проблему,мы можем использоватьCertbotЭто мощноиз工具来自动申请иуправлять HTTPS Сертификат。Certbotэто программное обеспечение с открытым исходным кодом,это может пройтиавтоматизацияизпуть отLet's Encryptждать Сертификаторган, выдавший документ(CA)Получите и установите HTTPS Сертификат。более важныйизда,Эти сертификаты взяты бесплатно,и может оставаться активным в течение длительного времени благодаря автоматическому продлению.。CertbotПоддержка несколькихсервери платформа,включатьApacheNginxждать。

Почему стоит выбрать Certbot?

  1. автоматизация:Certbot Сертификаты можно подать заявку, установить и обновить автоматически, без ручного вмешательства.
  2. бесплатно:Let’s Encrypt Предоставляемый сертификат полностью бесплатен.
  3. Безопасность:использовать HTTPS Шифрование веб-трафика и защита пользовательских данных Безопасность.
  4. совместимость:Обширная поддержка различных операционных систем иWebсервер。
  5. поддержка сообщества:Иметь активныйизсообщество и обогащениеиз Ресурсы документации。

Как подать заявку на сертификат HTTPS с помощью Certbot?

Сначала вам необходимо установить его на свой сервер. Certbot。Конкретный способ установки зависит от вас.использоватьиздействоватьсистемаиWebсерверпрограммное обеспечение。вы можете посетитьCertbotизчиновниквеб-сайт https://certbot.eff.org/ Получите подробное руководство по установке.

Шаг 1. Установите оснастку

Официальное использование клиента Snap для установки клиента cerbot,дляCentOSсистема,Можно использовать следующие команды:

Язык кода:javascript
копировать
yum -y install epel-release          	#Установить зависимости
yum -y install snapd					#установить оснастку
systemctl enable --now snapd.socket		#Запускаем сокет связи Snap
ln -s /var/lib/snapd/snap /snap			#Создайте следующее мягкое соединение, чтобы включить классический поддержка оснастки

Если один шаг пропущен, при установке cerbot будет сообщено об ошибке. Например: мягкое соединение не создается, и при установке cerbob сообщается о следующей ошибке; ошибка: невозможно установить «certbot»: классическое ограничение требует привязки под /snap или символической ссылки из /snap в /var/lib/snapd/snap

Шаг 2. Установите Certbot

Язык кода:javascript
копировать
# Если вы уже устанавливали certbot ранее, сначала необходимо удалить его.
sudo yum remove certbot

# Установить сертификатбот
snap install --classic certbot

# Конфигурация командной строки Certbot, выполните следующую команду, чтобы убедиться, что командная строка Certbot доступна.
ln -s /snap/bin/certbot /usr/bin/certbot

Примечание. Если возникает ошибка: cannot communicate with server: Post http://localhost/v2/snaps/snap-store: dial хм, попробуй перезапустить снап

Язык кода:javascript
копировать
systemctl restart snapd.service

Шаг 3: Выберите плагины

Certbot поддерживает множество плагинов веб-сервера. Например, если вы используете Nginx, вы можете использовать плагин nginx (выберите один из двух):

Запустите эту команду, чтобы получить сертификат, и позвольте Certbot автоматически редактировать конфигурацию Nginx для обслуживания, включив доступ HTTPS всего за один шаг:

Язык кода:javascript
копировать
certbot --nginx

Примечание. По умолчанию Certbot имеет значение Файл конфигурации nginx находится в /etc/nginx/nginx.conf или /usr/local/etc/nginx/nginx.conf, если вашего файла конфигурации nginx здесь нет (в качестве примера возьмем /usr/local/nginx/conf/nginx.conf), его нужно добавить после команды –nginx-server-root /usr/local/nginx/conf. Если появляется nginx plugin is not working; there may be problems with your existing Configuration., что указывает на то, что Nginx не установлен. Если он установлен, используйте следующую команду для добавления переменных среды. Поскольку nginx не помещен в переменную окружения, установите мягкое соединение nginx.

Язык кода:javascript
копировать
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
ln -s /usr/local/nginx/conf/ /etc/nginx

Просто получите сертификат. Если вы хотите вручную настроить nginx,Введите следующую команду(рекомендовать):

Язык кода:javascript
копировать
$ certbot certonly --nginx --nginx-ctl /application/nginx-1.24/sbin/nginx --nginx-server-root /application/nginx-1.24/conf/

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Enter email address (used for urgent renewal and security notices)
 (Enter 'c' to cancel): [Введите здесь свой адрес электронной почты]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.3-September-21-2022.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y [Выбрать Y продолжать]
Account registered.

Which names would you like to activate HTTPS for?
We recommend selecting either all domains, or all domains in a VirtualHost/server block.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: chat.boysec.cn
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel):  [Здесь не требуется ввод данных, нажмите Enter, чтобы выбрать все]
Requesting a certificate for chat.boysec.cn

Successfully received certificate.
Certificate is saved at: 
# [Здесь сообщите нам сгенерированный путь к файлу и срок действия]
/etc/letsencrypt/live/chat.boysec.cn/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/chat.boysec.cn/privkey.pem
This certificate expires on 2024-09-25.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
 * Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
 * Donating to EFF:                    https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Шаг 4. Измените конфигурацию Nginx

Язык кода:javascript
копировать
server {
    listen       80;
    server_name  chat.boysec.com;
    return 302 https://chat.boysec.com;
}
server {
    #Прослушиваем порт 443
    listen 443 ssl;
    #Соответствующие доменные имена, просто разделяйте доменные имена пробелами.
    server_name   chat.boysec.com;
    #certificatelatedКонфигурация
    ssl_ciphers           HIGH:!aHULL:!MD5:!DES:!DES3;
    ssl_certificate       /etc/letsencrypt/live/chat.boysec.com/fullchain.pem;
    ssl_certificate_key   /etc/letsencrypt/live/chat.boysec.com/privkey.pem;
    ssl_session_cache     shared:SSL:10m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ......
}

Проверьте сайт выдачи сертификата:

Настроить автоматическое продление

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

Язык кода:javascript
копировать
certbot renew --dry-run

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

Наконец, мы настроили запланированную задачу для автоматического выполнения команды обновления по истечении срока ее действия. использоватьcertbot renew --force-renewalОбязательное продление,В противном случае срок его действия не истек.,Невозможно продлить.

#Введите редактирование запланированных задач

Язык кода:javascript
копировать
crontab -e 
#Добавьте следующее: каждые три месяца в 1:00 ночи обязательное продление
0 1 24 3,6,9,12 * /usr/bin/certbot renew --dry-run --force-renewal && /application/nginx-1.24/sbin/nginx -s reload

Дополнительно: Установите сертификат общедоменного имени.

Язык кода:javascript
копировать
certbot certonly --manual --preferred-challenges dns --nginx-ctl /application/nginx-1.24/sbin/nginx --nginx-server-root /application/nginx-1.24/conf/ -d *.boysec.com -d boysec.com

Добавьте запись разрешения доменного имени текстового типа. Запись хоста: wangxiansen.boysec.com. Значение генерируется подсказкой certbot: arCjK1Xoi_xxxxxxxxxxxxx.

Проверьте, успешно ли разрешение DNS

Язык кода:javascript
копировать
nslookup -type=txt wangxiansen.boysec.com 8.8.8.8     
boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose