Я новичок, экспериментирую с докером и nginx, и кажется, что я не могу сделать Nginx.
контекст:
- существует 3 контейнера докеров, запускаемых при составлении докеров (Nginx, интерфейс и серверная часть API)
- сайт нормально работает с IP-адресом
- использование доменного имени перенаправляет на IP-адрес сервера
Проблема :
Я не могу заставить ngnix отображать имя домена в адресной строке, он отображает IP-адрес сервера
Не уверен, что это проблема докера или nginx conf.
Минусы ngnix:
сервер {
слушать 80 default_server;
слушать [::]:80 default_server;
имя_сервера имя_домена.com ;
# Внешний интерфейс
место расположения / {
proxy_pass http://имя-интерфейса:8080; # то же имя, что и псевдоним сети
}
# Бэкенд
расположение /API {
proxy_pass http://backend-name:5000/; # <--- обратите внимание, что здесь есть дополнительный /
}
# Вам может понадобиться это, чтобы предотвратить возврат 404 рекурсии.
местоположение = /404.html {
внутренний;
}
}
файл компоновки докера:
версия: "3"
сети:
изоляция-сеть:
водитель: мост
Сервисы :
внешний интерфейс :
имя_контейнера : внешний интерфейс
сборка: ./PersonalWebsite
порты:
- 8080:8080
сети:
изоляция-сеть:
псевдонимы:
- имя интерфейса
бэкэнд:
имя_контейнера: серверная часть
сборка: ./API/тест
порты:
- 5000:5000
сети:
изоляция-сеть:
псевдонимы:
- backend-имя
nginx-прокси:
зависит от:
- внешний интерфейс
- бэкенд
изображение: nginx:alpine
тома:
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf
сети:
изоляция-сеть:
псевдонимы:
- прокси-имя
порты:
- 80:80
- 443:443
Любые идеи ?
PS: не опытный разработчик любопытный парень