Как быстро и бесплатно установить 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