Как быстро и бесплатно установить SSL на вашем сайте с Let’s Encrypt
Наличие веб-сайта с поддержкой SSL становится все более важным. Google ранжирует HTTPS-адрес выше, чем HTTP-адрес, и это будет продолжаться до тех пор, пока HTTP не будет занесен в историю.
Вот как быстро создать сертификаты SSL и разместить их на своем веб-сайте за считанные минуты и бесплатно.
Бесплатный и простой SSL с Let's Encrypt
Настройка SSL на вашем веб-сайте никогда не была такой простой, благодаря Let's Encrypt, популярному и бесплатному центру сертификации SSL.
Созданный в апреле 2016 года их скрипт certbot и тот факт, что это бесплатный сервис, сделали Let's Encrypt популярным в мире онлайн-разработки.
Установить certbot
В этой статье предполагается, что у вас уже есть веб-сервер Linux и доменное имя, к которому вы хотите добавить SSL. Подключитесь к своему серверу через SSH и проверьте, установлен ли уже certbot , с помощью команды:
sudo certbot --version
Если отображается номер версии, значит certbot уже установлен, и вы можете перейти к следующему разделу. В противном случае вы можете установить certbot с помощью следующей команды:
sudo apt-get -y install certbot
Создать сертификат SSL
Чтобы эта статья работала на всех серверах, сначала временно выключите существующий HTTP-сервер с помощью соответствующей команды:
sudo service nginx stop
sudo service apache2 stop
Обратите внимание, что доменное имя, для которого вы хотите создать сертификат SSL, уже должно указывать на IP-адрес вашего веб-сервера. Предполагая, что это так, сгенерируйте новый сертификат SSL с помощью команды:
certbot certonly
Вам будет предложено выбрать метод подтверждения вашего доменного имени. Нажмите 1, чтобы запустить временный экземпляр сервера, и в следующем запросе будет запрашиваться ваше доменное имя. После входа в ваш домен certbot проверит и убедится, что доменное имя разрешается на вашем сервере, что означает, что вы управляете доменом, а затем сгенерирует новый сертификат SSL.
Настроить Nginx
Если вы используете Nginx в качестве HTTP-сервера, сначала определите, где находится файл конфигурации вашего веб-сайта. Обычно это всегда будет в одном из следующих каталогов:
- / и т.д. / nginx / сайты с поддержкой
- /etc/nginx/conf.d
Как только вы узнаете расположение файла конфигурации вашего сайта, откройте его в текстовом редакторе, таком как nano, с помощью команды:
sudo nano /etc/nginx/sites-enabled/default.conf
В самом верху файла добавьте следующие строки:
server {
listen 80;
rewrite ^ https://$server_name$request_uri? permanent;
}
Это автоматически перенаправит все запросы без SSL на ваш сайт на их SSL-аналог. В верхней части файла вы увидите начало конфигурации вашего сайта:
server {
listen 80;
server_name domain.com www.domain.com;
Измените это и измените listen 80; слушать 443 ssl; Затем добавьте следующие строки внизу:
ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem;
Не забудьте заменить domain.com в приведенных выше строках своим доменным именем. Сохраните и закройте файл, нажав Ctrl + W с последующим запросом, и перезапустите Nginx с помощью команды:
sudo service nginx start
Посетите свой веб-сайт, и теперь он должен быть в SSL без каких-либо предупреждений браузера о небезопасном сайте.
Настроить Apache
Если вы используете Apache в качестве HTTP-сервера, сначала найдите файл конфигурации вашего веб-сайта, который, скорее всего, будет находиться в каталоге / etc / apache2 / sites-enabled . Если вы не уверены в местонахождении, выполните команду:
apachectl -S
Это отобразит все виртуальные хосты, настроенные на Apache, с их соответствующими местоположениями. Найдя файл конфигурации, откройте его в текстовом редакторе с помощью команды:
sudo nano /etc/apache2/sites-enabled/default.conf
Вверху этого файла введите строки:
<VirtualHost *:80>
ServerName yourdomain.com
Redirect permanent / https://yourdomain.com/
</VirtualHost>
В существующей директиве <VirtualHost *: 80> измените порт с 80 на 443. Внутри этой директивы добавьте строки:
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/domain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/domain.com/privkey.pem
Обязательно замените domain.com в приведенных выше строках на свой фактический домен. Сохраните и закройте файл, нажав Ctrl + X с последующим запросом, затем перезапустите Apache с помощью команды:
sudo service apache2 start
Посетите свой веб-сайт, и теперь он должен быть в SSL без каких-либо предупреждений браузера о небезопасном сайте.
Продлить сертификаты SSL
Если вам когда-либо понадобится обновить сертификаты SSL для вашего веб-сайта, это можно легко сделать с помощью следующей команды:
certbot renew
Сайт защищен!
Поздравляем, теперь каждый посетитель вашего веб-сайта будет вынужден использовать его версию SSL, которая теперь защищена от недавно сгенерированного сертификата SSL, подписанного доверенным органом, что означает, что ваши посетители не будут получать никаких предупреждений безопасности.
В этой статье вы узнали, что такое certbot , как генерировать новые сертификаты SSL, как настроить Nginx или Apache с SSL и как обновить свои сертификаты позже.
Кредит изображения: Роберт Августин / Shutterstock