0
我有一个docker撰写文件,包含两个微服务,我想利用URI路由来处理CORS。这里是我撰写的文件:NGINX + Docker Compose路由问题
version: "3.1"
services:
auth-api:
image: xxxx/auth-api:latest
restart: always
depends_on:
- "user-api"
user-api:
image: xxxx/user-api:latest
restart: always
nginx:
image: nginx
restart: always
ports:
- "80:80"
links:
- "auth-api"
- "user-api"
volumes:
- ./nginx:/etc/nginx
我想用NGINX的路由,但我遇到了问题,用404的或者405试图访问该资源时的。我尝试了几种不同的配置,有一段时间NGINX说它在开始时找不到api端点,我认为我的问题主要是围绕路由配置。对于这些请求,我希望它是/auth
和/user
。
worker_processes 1;
events { worker_connections 1024; }
http {
sendfile on;
upstream auth-target {
server auth-api:8080;
}
upstream user-target {
server user-api:8080;
}
server {
listen 80;
location /auth {
proxy_pass http://auth-target;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
location /user {
proxy_pass http://user-target;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
}
}
我对NGINX很新,所以我不确定自己做的是对的。我还应该注意到,这两个API都有8080作为容器构建的一部分公开。