मेरे पास एपीआई एंडपॉइंट की एक जोड़ी है जिसे मैं /api
अलग-अलग एंडपॉइंट्स में जाने वाले सबपाथ्स के एक ही स्थान के तहत सेवा करना चाहता हूं । विशेष रूप से, मैं चाहता हूं कि वेबडीआईएस पर /api
और एक मालिकाना एपीआई उपलब्ध हो /api/mypath
।
मैं webdis एपीआई के साथ संघर्ष के बारे में चिंतित नहीं हूं क्योंकि मैं सबपाथ का उपयोग कर रहा हूं जो कि रेडिस कमांड नामों के साथ टकराव की संभावना नहीं है, और संघर्ष से बचने के लिए एपीआई के डिजाइन पर भी पूर्ण नियंत्रण है।
यहां मेरे परीक्षण सर्वर से कॉन्फ़िगर फ़ाइल है जिसे मैं हैक कर रहा हूं:
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
? जब आप उस स्थान को निर्देश सक्षम करते हैं तो क्या हुआ था? कनेक्शन का समय समाप्त? स्थान मिलान नहीं हुआ?