Сайт по SSL Apache, Nginx Ubuntu 20.04

Сайт по SSL Apache, Nginx Ubuntu 20.04

Мы узнали что такое  хостинг и сервер и их различия. Взяли в аренду Server VDS-VPS установили Apache и Nginx, осталось настроить доступ по HTTPS, HTTP2 добавив к нему шифрование SSL от Let’s Encrypt.

Так как настроили сайт по последним технологиям использовав Apache, Nginx и PHP-FPMТо подключать SSL будем к Nginx.

Если вы настроили сайт без использования Nginx, а только на Apache, то установите Certbot для  Apache.

apt-get install python3-certbot-apache

 .Сертификаты TLS/SSL можно сгенерировать с помощью Certbot. Его плагин для Nginx автоматически перенастроит веб-сервер и обновит конфиг.

Установите Certbot для Nginx:

apt install python3-certbot-nginx
Для более ранних версий Убунту может понадобиться установить официальный репозиторий Certbot:
sudo add-apt-repository ppa:certbot/certbot

Чтобы подтвердить действие, нажмите ввод. Затем обновите индекс пакетов.

sudo apt update

И установка без цифры 3 в python, пример

apt install python-certbot-nginx

После установки certbot регистрируем домен и выписываем на него сертификат SSL от Letsencrypt 

Если у вас домен с www, то пишем как в примере ниже, меняя  domain  на свой адрес. Если без www то без -d www.domain.com

certbot --nginx -d domain.com -d www.domain.com

Вас попросят ввести адрес электронной почты для уведомлений о продлении и безопасности. Ниже на картинке пример.

Согласитесь с Условиями использования

Укажите, следует ли получать электронные письма от EFF

Выберите, следует ли перенаправлять HTTP-трафик на HTTPS — 1 (без перенаправления, без дальнейших изменений на сервере) или 2 (перенаправлять все запросы на HTTPS) Лучше выбрать 2

Для Апаче

Создайте сертификат SSL для своего домена (ов):

certbot --apache -d domain.com

Или, если вы хотите создать SSL, включающий запросы «www»:

certbot --apache -d domain.com -d www.domain.com

Введите адрес электронной почты для уведомлений о продлении и безопасности

Согласитесь с Условиями использования

Укажите, следует ли получать электронные письма от EFF

Выберите, следует ли перенаправлять HTTP-трафик на HTTPS — 1 (без перенаправления, без дальнейших изменений на сервере) или 2 (перенаправлять все запросы на HTTPS)

Вариант настройки .config файла в Nginx с перенаправлением.

 server {

listen 80;

listen [::]:80;

server_name  domain.com  www.domain.com;

# редирект на HTTPS

return 301 https://$server_name$request_uri;

server_tokens off;

server { 

server_name domain.com www.domain.com;

listen [::]:443 ssl ipv6only=on; # managed by Certbot

listen 443 ssl http2; # managed by Certbot

ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem; # managed by Certbot

ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem; # managed by Certbot

include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot

ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

Так же если вы заметили мы используем listen 443 SSL HTTP2  если у вас его нет, можете вписать руками. Очередность вставки ssl_certificate может отличаться от примера, если добавляете руками, смотрите чтобы не повторялись записи.

Без перенаправления 

server {

listen 80;

listen [::]:80;

server_name domain.com www.domain.com;

 listen [::]:443 ssl ipv6only=on; # managed by Certbot

listen 443 ssl hhtp2; # managed by Certbot

ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem; # managed by Certbot

ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem; # managed by Certbot

include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot

ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot 

}

Проверяем или нет ошибок

nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful

Перегружаем 

service nginx restart 

Файл автоматического обновления сертификата находиться 

/lib/systemd/system/certbot.timer

Запрос статуса таймера 

systemctl status certbot.timer 

Чтобы протестировать процесс обновления, можно сделать запуск «вхолостую» с помощью  certbot

certbot renew --dry-run

Чтобы удалить сертификат используйте следующие команды.

удаляет информацию с серверов Letsenrypt  domain меняем на свой

certbot revoke --cert-path /etc/letsencrypt/live/domain.com/cert.pem 

удаляет сертификаты и все симлинки на локальном сервере

certbot delete --cert-name domain.com

Если у вас не устанавливается Certbot Настройте по инструкции

22:17
49
Lit
RSS
Нет комментариев. Ваш будет первым!