En

Установка и настройка автоматического продления, бесплатного SSL-сертификата Let’s Encrypt, для домена на проекте CRYSTAL v1.0

25.02.2025

Перед работой с данной инструкцией, необходимо подключить домен.


1. Изменение файла .env.prodDomain в frontend части, для работы через протокол — ‘https’, и сборка проекта для домена.


Измените примерный текст на название вашего домена и введите команду:

cd /var/www/crystal/frontend && rm -vr ./env/.env.prodDomain && echo VITE_BASE_URL=https://ВашДомен/api > ./env/.env.prodDomain && pnpm buildProdDomain

Пример:

cd /var/www/crystal/frontend && rm -vr ./env/.env.prodDomain && echo VITE_BASE_URL=https://crysty.ru/api > ./env/.env.prodDomain && pnpm buildProdDomain


2. Изменение файла .env.prodDomain в backend части проекта.


Для безопасной работы Cookie, атрибуту — ‘Secure’, будет присвоен статус — ‘true’. Статус будет присваиваться, через переменную — ‘COOKIE_SECURE_STATUS’.


Введите команды последовательно:

cd /var/www/crystal/backend && rm -vr ./env/.env.prodDomain && echo PRODUCTION_STATUS=true > ./env/.env.prodDomain

echo COOKIE_SECURE_STATUS=true >> ./env/.env.prodDomain && pm2 restart 0

3. Установка certbot.


Введите команду:

apt-get install certbot && apt install python3-certbot-nginx

4. Генерация SSL-сертификата Let’s Encrypt.


Введите команду и замените примерный текст на ваш домен:

sudo certbot --nginx -d ВашДомен -d www.ВашДомен

пример:

sudo certbot —nginx -d crysty.ru -d www.crysty.ru


Далее, введите адрес вашей электронной почты. После ввода email, необходимо прочитать вопросы и дать некоторые согласия.

Когда сертификат будет готов, вы увидите подобный текст в консоли:

Successfully received certificate.


Nginx перезагрузится с новыми настройками.

Два раза в день, таймер — certbot, будет проверять статус сертификата, и автоматически продлит сертификат, если подходит время его окончания.

Можно убедиться в наличии таймера, введя команду:

sudo systemctl status certbot.timer

После ввода команды, должно быть подобное сообщение:

● certbot.timer — Run certbot twice daily Loaded: loaded (/lib/systemd/system/certbot.timer; enabled; preset: enabled) Active: active (waiting) since Tue 2024-01-23 04:50:45 UTC; 1h 23min ago Trigger: Tue 2024-01-23 20:06:16 UTC; 13h left Triggers: ● certbot.service Jan 23 04:50:45 crystal-vm-1 systemd[1]: Started certbot.timer — Run certbot twice daily.


5. Перезапуск certbot таймера, после перезагрузки ВМ.


Введите команду:

systemctl enable --now certbot.timer

Откройте сайт проекта с вашем доменом, через протокол — ‘https’, SSL-сертификат должен работать.


Вы можете сделать сайт, намного безопаснее, добавив некоторые правила к серверу Nginx, по этой инструкции.

Проект тестируется в

BrowserStack

Поделиться

Копировать

BTC (Network BTC) - 1C2EWWeEXVhg93hJA9KovpkSd3Rn3BkcYm

Ethereum (Network ERC20) - 0x05037ecbd8bcd15631d780c95c3799861182e6b8

Этот сайт использует файлы cookies. Нажимая кнопку 'Принять' или продолжая пользоваться сайтом, вы соглашаетесь на использование файлов cookies.