127 lines
4.0 KiB
Markdown
127 lines
4.0 KiB
Markdown
# Налаштування 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`
|