/api
サブパスが異なるエンドポイントに移動する単一の場所からサービスを提供したいAPIエンドポイントがいくつかあります。具体的には、webdisをで/api
、独自のAPIをで入手できるようにし/api/mypath
ます。
redisコマンド名と衝突する可能性が低いサブパスを使用しているため、webdis APIとの衝突については心配していません。また、衝突を避けるためにAPIの設計を完全に制御できます。
これが、私がハッキングしてきたテストサーバーの構成ファイルです。
server {
listen 80;
server_name localhost;
server_name 192.168.3.90;
server_name 127.0.0.1;
location / {
root /home/me/src/phoenix/ui;
index index.html;
}
# temporary hardcoded workaround
location = /api/mypath/about {
proxy_pass http://localhost:3936/v1/about;
}
location /api {
rewrite ^/api/(.*)$ /$1 break;
proxy_pass http://localhost:7379/;
}
# tried this but it gives "not found" error
#location ^~ /api/mypath/ {
# rewrite ^/api/mypath/(.*)$ /$1 break;
# proxy_pass http://localhost:3936/v1/;
#}
#
#location ^~ /api {
# rewrite ^/api/(.*)$ /$1 break;
# proxy_pass http://localhost:7379/;
#}
}
への要求が/api/mypath/*
ポート3936のエンドポイントに送信され、他のすべてがポート7379に送信されるように回避策を変更するにはどうすればよいですか?
tried this to no avail
ですか?その場所ディレクティブを有効にするとどうなりましたか?接続タイムアウト?場所が一致しませんか?