Я уже несколько дней пытаюсь решить эту проблему, но не могу понять, и не нашел ничего полезного в интернете, поэтому буду очень благодарен за любую подсказку.
Несколько недель назад я настроил новый сервер Ubuntu 16.04.4 LTS. Я установил docker и запустил на нем внутреннюю веб-страницу. Теперь у нас есть дополнительная веб-страница, и я хотел бы сделать их доступными с двумя разными поддоменами.
- appone.qwert.de
- apptwo.qwert.de
По этой причине я купил домен qwert.de и попросил у своего провайдера фиксированный IP-адрес. Теперь мой сервер доступен через домен qwert.de.
Затем я нашел traefik, который в значительной степени покрывает все мои потребности. Поэтому я установил его со следующей конфигурацией:
debug = false
logLevel = "ERROR"
defaultEntryPoints = ["https","http"]
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
[retry]
[docker]
endpoint = "unix:///var/run/docker.sock"
domain = "qwert.de"
watch = true
exposedbydefault = false
[acme]
email = "[email protected]"
storage = "acme.json"
entryPoint = "https"
OnHostRule = true
[acme.httpChallenge]
entryPoint = "http"
Затем я запустил контейнер с помощью следующей команды docker-compose:
version: '2'
services:
traefik:
image: traefik:latest
restart: always
ports:
- 80:80
- 443:443
networks:
- web
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /srv/docker/traefik/traefik.toml:/traefik.toml
- /srv/docker/traefik/acme.json:/acme.json
container_name: traefik
networks:
web:
external: true
Все работает отлично, и я получил типичное сообщение "404 страница не найдена" от traefik. После этого я запускаю базовый контейнер nginx со следующим кодом:
sudo docker run -d --label "traefik.frontend.rule=HOST:appone.qwert.ch" --network web nginx:latest
Но когда я теперь пытаюсь вызвать сайт appone.qwert.ch, я также получаю типичное сообщение "404 страница не найдена". Контейнер traefik выдает следующее сообщение об ошибке:
level:error msg="Error creating route for frontend frontend-HOST-qwert-de-0: error parsing rule: error parsing rule: 'HOST:qwert.de'. Unknown function: 'HOST'"
Я не знаю, нужно ли мне как-то настраивать сервер с новым доменом или что я сделал не так.
Мой файл /etc/hosts/ выглядит следующим образом:
127.0.0.1 qwert.de Linux-Server
127.0.1.1 Linux-Server
212.153.72.45 qwert.de Linux-Server
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Я буду очень признателен за каждый ответ.
решение1
Здесь я используюХозяинвместоХОЗЯИН
-l "traefik.frontend.rule=Хост:appone.qwert.ch"