私は、CORSを処理するためにURIルーティングを利用したい2つのマイクロサービスから成るドッカー作成ファイルを持っています。ここに私のコンファイルです:NGINX + Dockerはルーティングの問題を作成します
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もコンテナビルドの一部として公開されていることに注意してください。