HTTPS – это защищенный протокол передачи гипертекста, который является защищенной версией протокола HTTP. Для повышения безопасности протокол HTTPS отправляет зашифрованные данные между веб-браузерами и веб-сайтами. Это очень важно, когда пользователь передает конфиденциальные данные, такие как вход в систему, хранение информации о кредитной карте, оплата онлайн и т. д. HTTPS использует протокол SSL (Secure Socket Layer) для шифрования передаваемых данных и проверки подлинности сервера.
Необходимые условия
- Сервер под управлением AlmaLinux 10
- Действующий домен, указанный на IP-адрес сервера
- Привилегии пользователя: root или не root пользователь с привилегиями sudo
Что такое протокол HTTPS и как его можно включить?
Протокол HTTPS – это безопасный способ доступа к веб-сайтам и передачи зашифрованных данных. Протокол HTTPS использует протокол SSL, и чтобы включить HTTPS в AlmaLinux 10, нам нужно установить SSL-сертификат. SSL-сертификаты позволяют веб-сайтам использовать HTTPS. SSL-сертификат – это файл данных, размещенный на сервере сайта. Итак, в данном случае для включения HTTPS на AlmaLinux 10 нам нужен сайт, доменное имя, SSL-сертификат для этого домена и самые необходимые файлы конфигурации веб-сервера. В качестве веб-серверов мы можем использовать Apache, Nginx и LiteSpeed. В этой статье мы будем использовать веб-сервер Apache, поэтому в следующих параграфах мы покажем вам точные шаги по включению HTTPS на вашем сайте.
Шаг 1. Обновить систему
Перед выполнением любой команды на сервере рекомендуется обновить системные пакеты до последней доступной версии. Для этого выполните эту команду в командной строке:
sudo dnf update -y && sudo dnf upgrade -y
Шаг 2. Установите веб-сервер Apache
Чтобы установить веб-сервер Apache, выполните приведенную ниже команду:
sudo dnf install httpd -y
После установки запустите и включите службу для автоматического запуска при загрузке системы:
sudo systemctl start httpd && sudo systemctl enable httpd
Проверьте состояние службы:
sudo systemctl status httpd
Вы должны получить следующее сообщение:
root@host ~]# sudo systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; preset: disabled)
Active: active (running) since Mon 2025-04-07 15:22:35 CDT; 7min ago
Invocation: 0d69cef33f884d6d9f8179803a955931
Docs: man:httpd.service(8)
Main PID: 97965 (httpd)
Status: "Total requests: 0; Idle/Busy workers 100/0;Requests/sec: 0; Bytes served/sec: 0 B/sec"
Tasks: 177 (limit: 23175)
Memory: 13.8M (peak: 14.1M)
CPU: 685ms
CGroup: /system.slice/httpd.service
├─97965 /usr/sbin/httpd -DFOREGROUND
├─97966 /usr/sbin/httpd -DFOREGROUND
├─97967 /usr/sbin/httpd -DFOREGROUND
├─97968 /usr/sbin/httpd -DFOREGROUND
└─97969 /usr/sbin/httpd -DFOREGROUND
Apr 07 15:22:34 host.test.vps systemd[1]: Starting httpd.service - The Apache HTTP Server..
Шаг 3. Установите Socat и Acme
Нам необходимо установить на наш сервер некоторые предварительные условия для работы поддельного веб-сервера и поддержки клиентов:
sudo dnf install socat -y && sudo curl https://get.acme.sh | sh && source ~/.bashrc
Шаг 4. Установите бесплатный сертификат ZeroSSL
ZeroSSL – это бесплатный центр сертификации SSL, созданный CodeNotary, компанией, известной своими решениями в области неизменяемости и блокчейна для обеспечения целостности данных. Чтобы установить ZeroSSL, сначала нужно создать учетную запись ZeroSSL:
acme.sh --register-account -m admin@your_domain.com --server zerossl
Вы должны получить следующее сообщение:
[root@host conf.d]# acme.sh --register-account -m admin@yourdomain.com --server zerossl [Mon Apr 7 16:19:37 CDT 2025] Account key creation OK. [Mon Apr 7 16:19:37 CDT 2025] No EAB credentials found for ZeroSSL, let's obtain them [Mon Apr 7 16:19:37 CDT 2025] Registering account: https://acme.zerossl.com/v2/DV90 [Mon Apr 7 16:19:40 CDT 2025] Registered [Mon Apr 7 16:19:40 CDT 2025] ACCOUNT_THUMBPRINT='ZmR7AOpN7-zg72TcIUXIzFftKyidkjA6oF-fvf9pXoc'
Далее нам нужно остановить службу HTTPD, поскольку генерация ZeroSSL с помощью скрипта acme.sh требует, чтобы порт 80 был свободен.
sudo systemctl stop httpd
Как только служба httpd будет остановлена, мы сможем сгенерировать ZeroSSL с помощью acme.sh:
acme.sh --issue --standalone -d your_domain.com --server zerossl
Вы должны получить следующий результат:
[Mon Apr 7 16:24:29 CDT 2025] Your cert is in: /root/.acme.sh/yourdomain.com_ecc/yourdomain.com.cer [Mon Apr 7 16:24:29 CDT 2025] Your cert key is in: /root/.acme.sh/yourdomain.com_ecc/yourdomain.com.key [Mon Apr 7 16:24:29 CDT 2025] The intermediate CA cert is in: /root/.acme.sh/yourdomain.com_ecc/ca.cer [Mon Apr 7 16:24:29 CDT 2025] And the full-chain cert is in: /root/.acme.sh/yourdomain.com_ecc/fullchain.cer
Шаг 5. Создайте файл конфигурации Apache
Если вы обратитесь к IP-адресу вашего сервера в браузере, то браузер вернет стандартную страницу приветствия Apache. Однако установить SSL-сертификат на IP-адрес невозможно. Поэтому нам нужно настроить файл конфигурации Apache, чтобы сайт был доступен через доменное имя. Для этого создайте следующий файл:
touch /etc/httpd/conf.d/website.conf
После этого откройте его с помощью вашего любимого текстового редактора и вставьте следующие строки кода:
ServerName yourdomain.com
DocumentRoot /var/www/html
Options FollowSymlinks
AllowOverride All
Require all granted
ErrorLog /var/log/httpd/yourdomain.com_error.log
CustomLog /var/log/httpd/yourdomain.com.log combined
Redirect permanent / https://yourdomain.com
ServerName yourdomain.com
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /root/.acme.sh/yourdomain.com_ecc/fullchain.cer
SSLCertificateKeyFile /root/.acme.sh/yourdomain.com_ecc/yourdomain.com.key
Сохраните файл, закройте его и проверьте синтаксис конфигурационного файла Apache.
httpd -t
Вы должны получить следующий результат
[root@host conf.d]# httpd -t Syntax OK
Перезапустите службу httpd.service.
sudo systemctl restart httpd
Теперь вы можете получить безопасный доступ к вашему сайту через ваш домен по протоколу HTTPS по адресу https://yourdomain.com.
Вот и все. Вы успешно включили протокол HTTPS в ОС AlmaLinux 10.




Комментарии (0)