Как перевести сайт на протокол HTTPS на VDS с debian 10

29 августа 2019
230
Debian
ssl

В этой статье мы расскажем как перевести сайт на https. Для этого мы подключим бесплатный сертификат от Let's Encrypt.

Мы предполагаем, что на вашем VDS:

  • установлен debian 10
  • установлен nginx
  • с вашего VDS работает сайт, для простоты назовем его mysite.ru

Установите certbot

apt install python3-certbot-nginx python3-acme python3-certbot python3-mock python3-openssl python3-pkg-resources python3-pyparsing python3-zope.interface

Переводим сайт на https

Выполните следующую команду. Вместо mysite.ru укажите тот сайт, для которого вы хотите подключить SSL сертификат.

certbot --nginx -d mysite.ru -d www.mysite.ru

Появится предложение ввести адрес электронной почты для срочных уведомлений от команды Let's Encrypt. Введите адрес электронной почты и нажмите Enter.

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
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.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel:

Чтобы принять условия обслуживания введите a и нажмите Enter. Certbot свяжется с сервером Let's Encrypt, и сделает запрос чтобы убедиться, что вы контролируете домен, для которого запрашиваете сертификат.

Теперь осталось выбрать, как обрабатывать запросы пользователей, которые будут заходить на ваш сайт по HTTP, а не по HTTPS:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):

Введите 1, если вы не хотите перенаправлять все запросы с http://mysite.ru на https://mysite.ru. Выберите 2, если хотите.

Ваши сертификаты установлены и загружены. Попробуйте открыть свой сайт в браузере https://mysite.ru.

Сертификаты Let's Encrypt действительны только в течение девяноста дней. При установке сертификата в /etc/cron.d на вашем VDS было добавлено задание, которое автоматически будет обновлять сертификат.

Запустите это команду, чтобы проверить, что обновление пройдет успешно:

certbot renew --dry-run

Если ошибок не появилось, то перенос сайта на https можно считать завершенным. Готово!

Мы используем файлы cookie для предоставления наших услуг, а также для аналитики и маркетинга. Продолжая просматривать наш веб-сайт, вы соглашаетесь на использование нами файлов cookie.
ОК