En

Подключение домена к проекту CRYSTAL v1.0

25.02.2025

1. Подключите к вашему домену, публичный IP адрес ВМ, в настройках у доменного оператора.


2. Редактирование файла — ‘crystal’, в папке ‘sites-available’.


Замените IP адрес в файле ‘crystal’, в 4 строке — ‘server_name’, на свой домен, как в примере ниже.


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

nano /etc/nginx/sites-available/crystal

Пример:

server {
	listen 80;
	listen [::]:80;
	server_name ВашДомен.com www.ВашДомен.com;
	location /
	{
		root /var/www/crystal/frontend/dist;
		try_files $uri $uri /index.html;
	}
	location /api/
	{
	    proxy_pass http://localhost:3000/;
		proxy_hide_header X-Powered-By;
		proxy_http_version 1.1;
		proxy_set_header Upgrade $http_upgrade;
		proxy_set_header Connection 'upgrade';
		proxy_set_header Host $host;
		proxy_cache_bypass $http_upgrade;
	}
}

Сохраните изменения — ‘ctrl + x’, ‘y’, ‘Enter’, затем перезапустите nginx командой:

systemctl restart nginx

3. Создание файла .env.prodDomain во frontend части и сборка проекта для домена.


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

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

4. Создание файла .env.prodDomain в backend части проекта.


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

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

Далее, необходимо удалить старый процесс pm2, и запустить новый, для этого введите команду:

pm2 kill && pnpm startProdDomain && pm2 save && pm2 startup && pm2 status

Если запуск пройдет успешно, процесс с именем — ‘prodDomain’, должен быть в статусе — ‘online’.

Сайт будет доступен по адресу вашего домена. Соединение должно быть по протоколу — ‘http’, проверьте это в адресной строке браузера. Сайт не откроется, если соединение будет устанавливаться через протокол — ‘https’.


Если вы уже устанавливали ssl-сертификат на свой домен, браузер может начать автоматически перенаправлять запрос с протокола ‘http’ на ‘https’.

Чтобы убрать перенаправление, введите в адресной строке браузера Chrome, строку:

chrome://net-internals/#hsts

Затем в открывшимся окне, в поле — ‘Delete domain security policies’, введите ваш домен и нажмите кнопку — ‘Delete’.


Далее, вы можете подключить к домену бесплатный SSL-сертификат Let’s Encrypt, с автоматическим продлением, для этого воспользуйтесь данной инструкцией.

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

BrowserStack

Поделиться

Копировать

BTC (Network BTC) - 1C2EWWeEXVhg93hJA9KovpkSd3Rn3BkcYm

Ethereum (Network ERC20) - 0x05037ecbd8bcd15631d780c95c3799861182e6b8

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