Я перевожу свой личный веб-сайт в цепочку Docker и создаю Docker-Compose для интеграции Django, Postgres, Gunicorn и Nginx.У меня также есть экземпляр Nginx, работающий на моей капле Digital Ocean, чтобы разрешить SSL на сервере.
Моя проблема в том, что я добавил SSL к экземпляру Nginx на моей капле DO и не могу поместить свойДжанго сайт в интернете.Я полагаю, что это простая проблема, но я не понимаю, где хост Nginx может найти контейнер Nginx приложения.
Ниже приводится раздел компоновки Nginx
# Nginx Configurations
nginx:
build:
context: ./nginx
dockerfile: Dockerfile_Nginx
volumes:
- static_volume:/usr/src/personal_website/static
ports:
- 2019:80
- 443:443
depends_on:
- django
КогдаКонтейнер работает на моей локальной машине, я могу отобразить веб-приложение на http://localhost:2019,, что я и хочу.Однако я хочу, чтобы экземпляр Nginx на моей Droplet отображал его.
Ниже приведен файл конфигурации для веб-сайта:
upstream personal_website {
server django:2019
}
server {
server_name example.com www.example.com;
listen 80;
location / {
proxy_pass http://personal_website;
}
}
Я считаю, что это все, что мне нужно, правильно?
Что происходит, когда я запускаю контейнер на сервере, так это то, что у меня есть базовая страница Nginx на порту 80, которая пересылается на 443 с помощью Certbot.То, что я хочу показать, - это веб-приложение, которое доступно на порту 2019. Есть ли способ сделать это?Или мне нужно, чтобы приложение Django работало на сервере напрямую?