# Специфіка роботи з віртуальними хостами Agate

Давно користуюсь цим сервером, але тільки недавно второпав його нюанси. Зокрема, як направляти трафік з різних віртуальних хостів (доменів) на спільну теку без створення символічних посилань. Це зручно, якщо хостити капсулу на різні мережі - I2P, Yggdrasil, тощо.

## Сценарії

Наведені нижче приклади - актуальні для Agate v3.3.19

### Мульти-домен на спільну теку

Це зручно, якщо наприклад, домен має декілька аліасів для спільного контенту:

* ps.i2p - домен для користувачів мережі I2P
* ps.ygg - домен для користувачів мережі Yggdrasil

Для цього, достатньо не вказувати аргумент(и) `--hostname`:

``` bash
agate --content /path/to/content
```
* /path/to/content - тека для ps.i2p, ps.ygg

### Мульти-домен на однойменну теку

Якщо вказати більше одного аргумента `--hostname` для кожного з доменів, то сервер шукатиме відповідну для хоста теку в локації `--content`:

``` bash
agate --content /path/to/content\
      --hostname ps.i2p\
      --hostname ps.ygg
```
* /path/to/content/ps.i2p - шлях для `--hostname ps.i2p`
* /path/to/content/ps.ygg - шлях для `--hostname ps.ygg`

### Маршрутизація без DNS

В оверлейних IPv6 мережах типу Yggdrasil, використання DNS є другорядним і перевага надається URL на базі статичного IP. На момент допису, такої підтримки сервер Agate не має. Можливо, знайду час на доопрацювання, а в якості тимчасового рішення - можу порадити сервер gmid (clang)

=> gmid-server-for-gemini-protocol.gmi Gmid - багатофункціональний сервер для Gemini

## Посилання

=> https://github.com/mbrubeck/agate/blob/master/README.md#virtual-hosts Офіційна документація

### Дивіться також

=> agate-branch-with-raw-ipv6-host-support.gmi Гілка Agate з підтримкою хостів IPv6
=> i2p-capsule-in-gemini-space-with-agate.gmi Публікація капсули Gemini в I2P на прикладі сервера Agate
=> meshname-as-permanent-and-green-alternative-to-dns.gmi Meshname як перманентна, енерго-ефективна альтернатива DNS