2010-01-27 14 views
7

को सीमित करने के लिए एक रिवर्स प्रॉक्सी के रूप में nginx तो मुझे एक ऐप मिला है जो बैकएंड के रूप में कॉच डीबी का उपयोग करता है। सोफे में वास्तव में यह सुरक्षा/उपयोगकर्ता मॉडल नहीं है, और डिफ़ॉल्ट रूप से कोई भी कुछ भी कर सकता है (रिकॉर्ड हटाने और यहां तक ​​कि पूरे डेटाबेस सहित)। लेकिन, अगर हम केवल जीईटी अनुरोधों तक पहुंच सीमित करते हैं तो हम अधिक सुरक्षित हैं।nginx http verb access

मुझे उम्मीद थी कि मैं एक रिवर्स प्रॉक्सी के रूप में आगे निकल सकता हूं, लेकिन मुझे कोई विकल्प नहीं मिल रहा है जो आपको आने वाले क्रिया के आधार पर अनुरोधों को फ़िल्टर करने देता है। पाउंड ऐसा करता है इसलिए मैं उस मार्ग पर जाने के बारे में सोच रहा हूं , लेकिन हम पहले से ही nginx का व्यापक रूप से उपयोग करते हैं और यह अच्छा होगा कि मिश्रण में एक और तकनीक को जोड़ना न पड़े। किसी को पता है कि कोई विकल्प है जो ऐसा होने देगा?

मैं अपाचे में एक mod_proxy विकल्प के लिए भी व्यवस्थित होगा। कोई विचार?

उत्तर

8

आप $request_method चर से HTTP अनुरोध प्रकार तक पहुंच प्राप्त कर सकते हैं। तो:

location/{ 
    if ($request_method = 'GET') { 
    proxy_pass couchdb_backend; 
    } 
} 
+0

मीठा, धन्यवाद दोस्त! –

14

इसके बजाय limit_except निर्देश का उपयोग करने का प्रयास करें। if का उपयोग करने से बचने के लिए बेहतर है क्योंकि if is evil

limit_except GET { 
    deny all; 
} 

Reference