Add MapMil Apache vhost to repo (ca-frontend by name, not IP)
Keeps the reverse-proxy config versioned; hardcoded container IP caused 503 after every stack rebuild.
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
# deploy/apache — vhost для mapmil.deepfishing.ru
|
||||
|
||||
Источник истины для Apache-виртхоста, который проксирует домен на стек MapMil.
|
||||
|
||||
## Что здесь
|
||||
|
||||
- `mapmil.conf` — vhost `mapmil.deepfishing.ru` (`apache2` → `ca-frontend:80`)
|
||||
|
||||
## Архитектура
|
||||
|
||||
- `apache2` — **отдельный** контейнер (не из `docker-compose.yml` этого репо).
|
||||
- Он подключён к сети `mapmil_default`, создаваемой compose-стеком MapMil.
|
||||
- Бэкенд адресуется **по имени сервиса `ca-frontend`**, не по IP.
|
||||
IP контейнера меняется при пересборке → хардкод IP даёт **503** (Connection refused).
|
||||
|
||||
## Применение на сервере (beget)
|
||||
|
||||
```bash
|
||||
cd ~/Projects/MapMil
|
||||
CONF=/usr/local/apache2/conf/conf-enabled/mapmil.conf
|
||||
|
||||
# 1. Бэкап текущего конфига в контейнере
|
||||
docker exec apache2 cp "$CONF" "$CONF.bak"
|
||||
|
||||
# 2. Скопировать актуальный vhost из репо внутрь контейнера
|
||||
docker cp deploy/apache/mapmil.conf apache2:"$CONF"
|
||||
|
||||
# 3. Проверить и перезагрузить Apache
|
||||
docker exec apache2 httpd -t
|
||||
docker exec apache2 httpd -k graceful
|
||||
|
||||
# 4. Проверить сайт
|
||||
curl -s -o /dev/null -w "%{http_code}\n" https://mapmil.deepfishing.ru/ # 200
|
||||
```
|
||||
|
||||
## Если сайт отдаёт 503
|
||||
|
||||
Проверить, что в конфиге **нет хардкода IP**:
|
||||
|
||||
```bash
|
||||
docker exec apache2 grep -n "ca-frontend\|172\." "$CONF"
|
||||
docker exec apache2 tail -20 /usr/local/apache2/logs/mapmil-error.log
|
||||
```
|
||||
|
||||
Признак: `AH00957: attempt to connect to 172.x.x.x:80 failed`.
|
||||
Лечение — применить `mapmil.conf` из репо (см. выше).
|
||||
|
||||
## TODO
|
||||
|
||||
- Автоматизировать копирование конфига при деплое (сейчас вручную).
|
||||
- Рассмотреть подключение `deploy/apache/` как volume в контейнер `apache2`,
|
||||
чтобы конфиг не терялся при его пересоздании.
|
||||
Reference in New Issue
Block a user