嗨,我正在尝试将 pgadmin4 添加到 geonode 开源软件的 docker-compose 中,使用已作为服务插入的 nginx Letsencrypt 和 postgresql/postgis。
pgadmin4:
container_name: pgadmin4
image: dpage/pgadmin4
restart: always
depends_on:
- geonode
- db
environment:
PGADMIN_DEFAULT_EMAIL: [email protected]
PGADMIN_DEFAULT_PASSWORD: root
# ports:
# - "5050:80"
我尝试将端口设置为 5050:80 或 5050:5050 或空,但我遇到了同样的错误。
这些是我未更改的参考文件
https://github.com/GeoNode/geonode/blob/master/scripts/docker/nginx/nginx.conf.envsubst https://github.com/GeoNode/geonode/blob/master/scripts/docker/nginx/nginx.https.available.conf.envsubst https://github.com/GeoNode/geonode/blob/master/scripts/docker/nginx/geonode.conf.envsubst
我进入了nginx shell docker compose exec geonode sh
并在geonode.conf中添加了位置/pgadmin4(启用站点)
(example geoserver)
location /geoserver {
set $upstream geoserver:8080;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_pass http://$upstream/;
proxy_redirect off;
}
location /pgadmin4 {
set $upstream pgadmin4:5050;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_pass http://$upstream/;
proxy_redirect off;
}
如果我尝试访问domain.cloud/pgadmin4,则会收到 502 Bad Gateway 错误。 错误是nginx 连接到上游客户端 xxxx 服务器时,connect() 失败(111 连接被拒绝):domain.cloud 请求 GET /pgadmin4 HTTP/1.1 上游 http://172.18.0.7:5050/pgadmin4 主机:“domain.cloud”
domain.cloud 上的 Geonode 和 geoserver 都可以完美运行。
感谢您的任何建议。
pgadmin4:
container_name: pgadmin4
image: dpage/pgadmin4
restart: always
depends_on:
- geonode
- db
environment:
PGADMIN_DEFAULT_EMAIL: [email protected]
PGADMIN_DEFAULT_PASSWORD: root
SCRIPT_NAME: /pgadmin4
port:
- "5050:80"
expose:
- "5050"
location /pgadmin4 {
set $upstream pgadmin4:80;
proxy_set_header X-Script-Name /pgadmin4
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_pass http://$upstream/;
proxy_redirect off;
}
这个答案是由OP Eleonora Iacopini在CC BY-SA 4.0下发布为问题Pgadmin4 in geonode configuration - error 502 nginx docker [RESOLVED]的edit。