Я столкнулся с проблемами при настройке среды, содержащей postgres, pgadmin и nginx. Все эти сервисы находятся в Docker-контейнерах, и вот мой файл Docker-compose:
version: '3'
services:
postgres:
image: postgres
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
pgadmin:
links:
- postgres:postgres
image: dpage/pgadmin4:3.0
environment:
PGADMIN_DEFAULT_EMAIL: 'postgres@pg.com'
PGADMIN_DEFAULT_PASSWORD: 'postgres'
ports:
- "5050:80"
restart: unless-stopped
nginx:
links:
- pgadmin:pgadmin
image: "nginx:1.13.12"
ports:
- "80:80"
volumes:
- ./nginxServers/server:/etc/nginx/conf.d/default.conf
А вот мой nginx.conf
, помещенный в ./nginxServers/server
:
server {
listen 80;
server_name _;
location /pgadmin/ {
proxy_pass http://pgadmin/;
}
}
Как видите, это очень простая настройка, позволяющая мне использовать pgadmin через http://localhost/pgadmin.
К сожалению, это не работает. Я вижу веб-интерфейс pgadmin через http://127.0.0.1:5050,, но при переходе к http://127.0.0.1/pgadmin, все стили и сценарии не загружаются.
Я также пробовал другое расположение в конфигурации nginx:
location /pgadmin {
proxy_pass http://pgadmin;
}
Но это тоже не помогло.
Таким образом, я застрял с правильной конфигурацией nginx в качестве обратного прокси для pgadmin.
P.S. Как я уже догадался, эта проблема может быть связана с обслуживанием статического контента Django, но, поскольку я не знаком с Django, я не могу найти обходной путь.
Буду благодарен за любую помощь в решении этой странной проблемы.