Saya memiliki beberapa titik akhir API yang ingin saya layani di bawah satu lokasi /api
dengan subpath yang menuju ke titik akhir yang berbeda. Secara khusus, saya ingin webdis tersedia di /api
dan API eksklusif tersedia di /api/mypath
.
Saya tidak khawatir tentang bentrokan dengan API webdis karena saya menggunakan subpath yang tidak mungkin berbenturan dengan nama perintah redis, dan juga memiliki kontrol penuh atas desain API untuk menghindari bentrokan.
Ini file konfigurasi dari server pengujian saya yang telah saya peretas:
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/;
#}
}
Bagaimana saya bisa mengubah solusi saya sehingga setiap permintaan untuk /api/mypath/*
pergi ke titik akhir di port 3936, dan yang lainnya ke port 7379?
tried this to no avail
? Apa yang terjadi ketika Anda mengaktifkan arahan lokasi itu? Waktu koneksi habis? Lokasi tidak cocok?