G'day 我试图向我的Nginx添加另一个服务“邮件程序”,该服务启动时没有任何错误,但是当我尝试调用我的“邮件程序”服务(http:// nginx_ip / mails / healthcheck)时,我收到了“ 404”第一个作品http:// nginx_ip / v1 / notes / login等...。我确认我的 nginx.conf 文件有一些错误。你有什么主意吗?
这是我的nginx.conf
upstream hello_flask {
server app:5000;
}
upstream hello_flask2 {
server mailer:5080;
}
server {
listen 80;
location /v1/notes {
proxy_pass http://hello_flask;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_redirect off;
}
location /mails {
proxy_pass http://hello_flask2;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_redirect off;
}
}
routes.py
from flask import current_app as app
@app.route('/mails/healthcheck', methods=['GET'])
def healthcheck():
return "OK", 200
docker-compose
version: '3.5'
services:
nginx:
build: ./services/nginx
networks:
testing_net:
ipv4_address: ${INGRESS}
ports:
- 1337:80
depends_on:
- app
- mailer
app:
build: ./services/web
depends_on:
- db
env_file:
- .env
networks:
testing_net:
ipv4_address: ${FLASK_HOST}
ports:
- ${FLASK_PORT}:${FLASK_PORT}
restart: always
scheduler:
build: services/scheduler/.
depends_on:
- app
env_file:
- .env
networks:
testing_net:
ipv4_address: ${FLASK_SCHEDULER_HOST}
ports:
- ${FLASK_SCHEDULER_PORT}:${FLASK_SCHEDULER_PORT}
restart: always
mailer:
build: services/mailer/.
depends_on:
- app
env_file:
- .env
networks:
testing_net:
ipv4_address: ${FLASK_MAILER_HOST}
ports:
- ${FLASK_MAILER_PORT}:${FLASK_MAILER_PORT}
restart: always
db:
image: postgres:12
volumes:
- ./docker/sql/:/docker-entrypoint-initdb.d/
- postgres_data:/var/lib/postgresql/data/
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: postgres
env_file:
- .env
networks:
testing_net:
ipv4_address: ${POSTGRES_HOST}
restart: always
pgadmin-compose:
image: dpage/pgadmin4
environment:
PGADMIN_DEFAULT_EMAIL: "test@gmail.com"
PGADMIN_DEFAULT_PASSWORD: "test1234"
ports:
- "6000:80"
env_file:
- .env
networks:
testing_net:
ipv4_address: ${PGADMIN4_HOST}
depends_on:
- db
volumes:
postgres_data:
networks:
testing_net:
ipam:
driver: default
config:
- subnet: 172.28.0.0/16