2010-01-27 22 views
7

Vì vậy, tôi đã có một ứng dụng sử dụng CouchDB làm phụ trợ. Couch không thực sự có mô hình bảo mật/người dùng tại chỗ, và theo mặc định, bất kỳ ai cũng có thể làm bất cứ điều gì (bao gồm xóa bản ghi và thậm chí toàn bộ cơ sở dữ liệu). Tuy nhiên, nếu chúng tôi giới hạn quyền truy cập vào chỉ các yêu cầu GET, chúng tôi sẽ an toàn hơn nhiều. Tôi đã hy vọng tôi có thể đặt nginx ra phía trước như một proxy ngược lại, nhưng tôi không thể tìm thấy một tùy chọn cho phép bạn lọc các yêu cầu dựa trên động từ sắp tới. Pound làm điều này vì vậy tôi đang nghĩ đến việc đi tuyến đường đó , nhưng chúng tôi đã sử dụng nginx rộng rãi và nó sẽ được tốt đẹp không phải thêm một công nghệ khác trong hỗn hợp. Bất cứ ai biết nếu có một lựa chọn mà sẽ cho phép điều này xảy ra?nginx làm proxy ngược để giới hạn truy cập http động

Tôi thậm chí sẽ giải quyết tùy chọn mod_proxy trong Apache. Ý tưởng nào?

Trả lời

8

Bạn có thể truy cập vào loại yêu cầu HTTP từ biến số $request_method. Vì vậy:

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

ngọt, nhờ dude! –

14

Hãy thử sử dụng chỉ thị limit_except thay thế. Tốt hơn nên tránh sử dụng ifif is evil.

limit_except GET { 
    deny all; 
} 

Reference

Các vấn đề liên quan