# Налаштування DNS та Reverse Proxy для assets.daarion.space ## Крок 1: Налаштування DNS ### Cloudflare (рекомендовано) 1. Увійдіть в Cloudflare Dashboard 2. Виберіть домен `daarion.space` 3. Перейдіть в **DNS** → **Records** 4. Додайте новий A record: - **Type**: A - **Name**: `assets` - **IPv4 address**: `144.76.224.179` (IP NODE1) - **Proxy status**: 🟡 Proxied (або ⚪ DNS only) - **TTL**: Auto 5. Натисніть **Save** ### Альтернативні DNS провайдери Якщо використовуєте інший DNS провайдер, додайте A record: - **Host**: `assets` - **Type**: A - **Value**: `144.76.224.179` - **TTL**: 3600 (або Auto) ## Крок 2: Перевірка DNS Після додавання DNS запису, зачекайте 1-5 хвилин та перевірте: ```bash dig assets.daarion.space +short # Має повернути: 144.76.224.179 # Або nslookup assets.daarion.space ``` ## Крок 3: Отримання SSL сертифікату Після того як DNS запрацює, на сервері виконайте: ```bash ssh root@144.76.224.179 # Отримати сертифікат certbot certonly --nginx -d assets.daarion.space --non-interactive --agree-tos --email admin@daarion.space # Або через webroot (якщо NGINX не працює) certbot certonly --webroot -w /var/www/html -d assets.daarion.space --non-interactive --agree-tos --email admin@daarion.space ``` ## Крок 4: Активація SSL в NGINX Після отримання сертифікату, активуйте SSL в конфігурації: ```bash ssh root@144.76.224.179 # Відновити SSL директиви cd /opt/microdao-daarion cp nginx/assets_daarion_space.conf /etc/nginx/conf.d/ # Перевірити конфігурацію nginx -t # Перезапустити NGINX systemctl reload nginx ``` ## Крок 5: Перевірка ```bash # Перевірити HTTP redirect curl -I http://assets.daarion.space # Перевірити HTTPS curl -I https://assets.daarion.space/minio/health/live # Перевірити доступ до bucket curl https://assets.daarion.space/daarion-assets/ ``` ## Крок 6: Міграція Assets Після налаштування DNS та SSL, мігруйте існуючі assets: ```bash ssh root@144.76.224.179 cd /opt/microdao-daarion # Dry run (перевірка що буде мігровано) python3 scripts/migrate_assets_to_minio.py --dry-run # Реальна міграція python3 scripts/migrate_assets_to_minio.py # Оновити URLs в базі даних python3 scripts/update_db_asset_urls.py --dry-run # спочатку перевірка python3 scripts/update_db_asset_urls.py # реальне оновлення ``` ## Troubleshooting ### DNS не працює 1. Перевірте що A record створено правильно 2. Зачекайте до 24 годин (зазвичай 5-15 хвилин) 3. Перевірте через `dig` або `nslookup` ### Certbot не може отримати сертифікат 1. Переконайтеся що DNS працює (`dig assets.daarion.space`) 2. Перевірте що порт 80 доступний з інтернету 3. Спробуйте DNS challenge: `certbot certonly --manual --preferred-challenges dns -d assets.daarion.space` ### NGINX не запускається 1. Перевірте конфігурацію: `nginx -t` 2. Перевірте логи: `journalctl -xeu nginx.service` 3. Перевірте чи порт 80/443 не зайнятий: `netstat -tlnp | grep -E ':80|:443'` ### MinIO не доступний 1. Перевірте що MinIO контейнер працює: `docker ps | grep minio` 2. Перевірте що MinIO слухає на 9000: `curl http://localhost:9000/minio/health/live` 3. Перевірте bucket: `docker exec daarion-minio mc ls local/daarion-assets`