я просто создал экземпляр MongoDB на Ubuntu 14,04, с аутентификацией по username:password.
пользователем Я создал, как это:Какая роль пользователя MongoDB может выполнять POST-вызовы?
{
"_id" : "myDatabase.myUser",
"user" : "myUser",
"db" : "myDatabase",
"roles" : [ { "role" : "readWrite", "db" : "myDatabase" } ]
}
И в URI строки, которые я использую на моем REST API написано в Node.js (с экспресс и мангуста), как:
mongodb://myUser:[email protected]:27017/myDatabase
Связь ОК и GET
м ethods работает отлично, но когда я использую метод POST
, как Signup по электронной почте/пароль, ответ:
Status Code:405 Not Allowed
Любая идея? Заранее спасибо!
FYI: Я использую Nginx в качестве обратного прокси-сервера и веб-сервер для Frontend (AngularJS приложение), и конфигурация является:
server {
listen 80;
server_name example.com;
access_log /var/log/nginx/nginx.access.log;
error_log /var/log/nginx/nginx.error.log;
location/{
expires -1;
add_header Pragma "no-cache";
add_header Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0";
root /usr/share/www;
try_files $uri $uri/ /index.html =404;
}
location /api/v1 {
proxy_set_header "Access-Control-Allow-Origin";
proxy_set_header "Access-Control-Allow-Methods" "GET, POST, OPTIONS, PUT, DELETE";
proxy_set_header "Access-Control-Allow-Headers" "X-Requested-With,Accept,Content-Type, Origin";
proxy_pass http://127.0.0.1:3000/api/v1;
proxy_buffering on;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header origin "http://example.com";
}
}
Спасибо @ Jose! Я пробовал это, но пока не работал. Я добавляю следующее: 'proxy_redirect off;' и работает! –