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作爲容器構建的一部分公開。