Edit SSL Cockpit directory
nano /etc/cockpit/ws-certs.d/0-self-signed.cert
Add new SSL Certificate
Для установки SSL сертификата на веб-интерфейсе управления сервером Cockpit на операционной системе CentOS 7, выполните следующие шаги пошагово:
Шаг 1: Установите Nginx
Сначала установим web-сервер Nginx, поскольку Cockpit работает на порту 9090, и мы можем настроить Nginx для безопасного подключения через HTTPS.
sudo yum install nginx -y
Запустите службу Nginx и добавьте её в автозагрузку:
sudo systemctl start nginx
sudo systemctl enable nginx
Шаг 2: Получение SSL сертификата
Есть два способа получения SSL сертификатов:
2.1 Самоподписанный сертификат
Создаем самоподписанный сертификат, используя команду OpenSSL:
mkdir /etc/nginx/ssl && cd /etc/nginx/ssl
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout cockpit.key -out cockpit.crt
Это создаст ключ (cockpit.key
) и сертификат (cockpit.crt
).
2.2 Бесплатный сертификат Let’s Encrypt
Установите certbot для автоматического получения и обновления бесплатных сертификатов от Let’s Encrypt:
sudo yum install epel-release
sudo yum install python-certbot-nginx
certbot --nginx
Следуйте инструкциям Certbot, выбрав доменное имя вашего сервера.
Шаг 3: Настройка Nginx
Откройте конфигурационный файл Nginx (обычно /etc/nginx/default.d/cockpit.conf
, создайте новый файл):
vim /etc/nginx/default.d/cockpit.conf
Добавьте следующее содержимое файла конфигурации:
server {
listen 443 ssl http2 default_server;
server_name yourdomain.com;
ssl_certificate /etc/nginx/ssl/cockpit.crt; # путь к вашему сертификату
ssl_certificate_key /etc/nginx/ssl/cockpit.key; # путь к вашему приватному ключу
location / {
proxy_pass http://localhost:9090;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
}
}
Убедитесь, что пути к файлам ключа и сертификата указаны правильно.
Перезапустите Nginx:
sudo systemctl restart nginx
Шаг 4: Тестирование
Теперь ваш интерфейс Cockpit доступен по адресу https://yourdomain.com
. Попробуйте зайти через браузер — должно появиться защищённое соединение.
Таким образом, вы настроили SSL шифрование для интерфейса Cockpit на вашем сервере CentOS 7. Если используете самоподписанные сертификаты, убедитесь, что пользователи доверяют этому сертификату вручную.