J'ai quelques points de terminaison d'API que je veux servir à partir d'un emplacement unique /api
avec des sous-chemins allant vers différents points de terminaison. Plus précisément, je veux que les webdis soient disponibles sur /api
et une API propriétaire disponible sur /api/mypath
.
Je ne m'inquiète pas des conflits avec l'API webdis car j'utilise des sous-chemins qui ne risquent pas de se heurter aux noms de commandes redis, et j'ai également un contrôle total sur la conception de l'API pour éviter les conflits.
Voici le fichier de configuration de mon serveur de test sur lequel je pirate:
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/;
#}
}
Comment puis-je modifier ma solution de contournement pour que toutes les demandes /api/mypath/*
soient envoyées au point de terminaison sur le port 3936 et tout le reste sur le port 7379?
tried this to no avail
? Que s'est-il passé lorsque vous activez cette directive d'emplacement? Délai de connection dépassé? L'endroit ne correspond pas?