使用Nginx的不同路径中的Docker容器
我正在尝试设置Nginx将两个应用程序(Docker容器中的一个Express和一个Wordpress)路由到它们自己的公共路径。到目前为止,它一次只能处理一个容器,但从本地端口到公共路径的路由都不行,我有点不明白为什么。非常感谢任何帮助或想法 这是我的nginx配置:使用Nginx的不同路径中的Docker容器,nginx,docker-compose,Nginx,Docker Compose,我正在尝试设置Nginx将两个应用程序(Docker容器中的一个Express和一个Wordpress)路由到它们自己的公共路径。到目前为止,它一次只能处理一个容器,但从本地端口到公共路径的路由都不行,我有点不明白为什么。非常感谢任何帮助或想法 这是我的nginx配置: server { listen 80; proxy_set_header Host $http_host; proxy_set_header X-Read-IP $remote_addr; proxy_set_h
server {
listen 80;
proxy_set_header Host $http_host;
proxy_set_header X-Read-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
location /api {
proxy_pass http://0.0.0.0:3000;
}
location /blog {
proxy_pass http://0.0.0.0:8000;
}
}
Docker compose:
version: '3.2'
services:
api-service:
restart: always
depends_on:
- wordpress-service
image: mhart/alpine-node:latest
build: .
networks:
main:
aliases:
- api-service
wordpress-service:
restart: always
depends_on:
- db
image: wordpress:latest
working_dir: /var/www/html
volumes:
- wordpress:/var/www/html/wp-content
expose:
- "8000"
networks:
main:
aliases:
- wordpress-service
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
networks:
main:
aliases:
- db
volumes:
db_data:
wordpress:
networks:
main:
找到答案后,express应用程序中缺少的是路径的尾部斜杠
location /api/ {
proxy_pass http://0.0.0.0:3000/;
}
答案证明是有帮助的