我知道已经有很多这样的请求了。但是我不能通过ngnix转发到另一个端口。
docker-compose.yml
---
version: '3'
services:
umami:
container_name: umami
image: ghcr.io/umami-software/umami:postgresql-latest
ports:
- "4000:3000"
environment:
DATABASE_URL: postgresql://umami:umami@db:5432/umami
DATABASE_TYPE: postgresql
HASH_SALT: ovD4Q594iOC6RfjgB8
depends_on:
- db
restart: always
db:
container_name: umami_db
image: postgres:12-alpine
environment:
POSTGRES_DB: umami
POSTGRES_USER: umami
POSTGRES_PASSWORD: umami
volumes:
- ./sql/schema.postgresql.sql:/docker-entrypoint-initdb.d/schema.postgresql.sql:ro
- umami-db-data:/var/lib/postgresql/data
restart: always
nginx:
container_name: nginx
image: nginx:1.23.4-alpine
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx:/etc/nginx/conf.d
volumes:
umami-db-data:
nginx/nginx.conf
server {
listen 80;
location /umami {
proxy_pass http://localhost:4000/;
}
}
Umami在http://localhost:4000/成功运行
得到“Bad Gateway”和日志:
2023-04-15 17:26:24 2023/04/15 15:26:24 [error] 20#20: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 172.19.0.1, server: , request: "GET /umami/ HTTP/1.1", upstream: "http://127.0.0.1:4000//", host: "localhost"
2023-04-15 17:26:24 172.19.0.1 - - [15/Apr/2023:15:26:24 +0000] "GET /umami/ HTTP/1.1" 502 559 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36" "-"
我做错了什么?
1条答案
按热度按时间oewdyzsn1#
不应使用
localhost
,而应使用服务名称umami
。原因是在这种情况下,
localhost
指向nginx容器的localhost
,而不是托管机器的localhost
。