2016-12-29 122 views
0

這是一種奇怪的。我做了一個休息後調用couchdb 2.0來更新用戶數據庫,我得到一個401狀態消息「error = bad_request」和「reason = Referer頭必須匹配主機。」CouchDB的響應_user分貝使用奧裏利亞獲取客戶

但是,如果我將「post」更改爲「put」,那麼它很高興並按預期返回201的狀態。我可以繼續使用投入,但這不是標準。

對此提出建議?

POST http://localhost:5984/_users/org.couchdb.user:test1 HTTP/1.1 
Host: localhost:5984 
Connection: keep-alive 
Content-Length: 364 
Pragma: no-cache 
Cache-Control: no-cache 
Origin: http://localhost:9000 
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36 
content-type: application/json 
Accept: */* 
DNT: 1 
Referer: http://localhost:9000/ 
Accept-Encoding: gzip, deflate, br 
Accept-Language: en-US,en;q=0.8 
Cookie: io=YBMMIY0pejGjeHV9AACO; AuthSession=foo 

{ 
    "_id":"org.couchdb.user:test1", 
    "_rev":"1-8e2136e07f62238327f87d1ae54a29df", 
    "type":"user","roles": "user"], 
    "name":"test1", 
    "email":"[email protected]", 
    "fullName":"Test1 esq", 
    "phone":"555-555-5555", 
    "id":"org.couchdb.user:test1", 
    "password_scheme":"pbkdf2", 
    "iterations":10, 
    "derived_key":"0e076f6f85f1389fd90ff181d433e1438e8e30a4", 
    "salt":"37f590de042f07956f6cc11b8a9eb012" 
} 

響應

HTTP/1.1 400 Bad Request 
Access-Control-Allow-Credentials: true 
Access-Control-Allow-Origin: http://localhost:9000 
Access-Control-Expose-Headers: content-type, cache-control, accept-ranges, etag, server, x-couch-request-id, x-couch-update-newrev, x-couchdb-body-time 
Cache-Control: must-revalidate 
Connection: close 
Content-Length: 67 
Content-Type: application/json 
Date: Thu, 29 Dec 2016 23:15:25 GMT 
Server: CouchDB/2.0.0 (Erlang OTP/17) 
X-Couch-Request-ID: b45ec52b5c 
X-CouchDB-Body-Time: 0 

{"error":"bad_request","reason":"Referer header must match host."} 

**This works** 

PUT http://localhost:5984/_users/org.couchdb.user:test1 HTTP/1.1 
Host: localhost:5984 
Connection: keep-alive 
Content-Length: 364 
Pragma: no-cache 
Cache-Control: no-cache 
Origin: http://localhost:9000 
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36 
content-type: application/json 
Accept: */* 
DNT: 1 
Referer: http://localhost:9000/ 
Accept-Encoding: gzip, deflate, sdch, br 
Accept-Language: en-US,en;q=0.8 
Cookie: io=62j8pWngSUNyLwKjAACX; AuthSession=xyyz 

{ 
    "_id":"org.couchdb.user:test1", 
    "_rev":"1-8e2136e07f62238327f87d1ae54a29df", 
    "type":"user", 
    "roles":["user"], 
    "name":"test1", 
    "email":"[email protected]", 
    "fullName":"Test1 esq", 
    "phone":"555-555-5555", 
    "id":"org.couchdb.user:test1", 
    "password_scheme":"pbkdf2", 
    "iterations":10, 
    "derived_key":"0e076f6f85f1389fd90ff181d433e1438e8e30a4", 
    "salt":"37f590de042f07956f6cc11b8a9eb012" 
} 
+0

你可以放棄Referer頭嗎?你需要它嗎? – LStarky

+0

我還沒有試過這一點,我不知道我怎麼知道,因爲我沒有明確加入它,我可以嘗試將其設置爲undefined,但對象沒有它定義。我將嘗試在發送之前將其從頭部與提琴手一起移除。 –

回答