2011-05-07 77 views
4

我想添加一些自定義HTTP標頭來自移動客戶端的認證時,像使用nginx的+乘客

{「MOBILE_KEY」已失去自定義HTTP標頭=>「XXX」,「MOBILE_SIGNATURE」 =>' yyy'}

當我在開發中使用webrick/thin/mongrel時,它工作正常,但是當我用nginx + passenger將它部署到生產服務器時,自定義標題被刪除,爲什麼?我能做些什麼?

回答

2

嘗試使用自定義標題的X-風格命名。在傳遞名爲「device_id」的標頭時,我遇到了這個問題。它會在nginx/Passenger層中的某處被剝離出來。我懷疑這是乘客,但不知道。

我將頭文件更改爲「X-device-id」,頭文件隨後在我的Rails控制器中作爲request.headers ['X-device-id']提供給我。

0

你需要做兩件事情:

  1. 確保所有的令牌開始與 「X-」

    例如: 「X-你的令牌」

  2. 配置nginx通過這個令牌:

    proxy_pass_header X-mobile-access-token;

+0

看來,nginx的會通過X-頭,所以並不需要第2步。 – twinsant 2013-10-11 00:00:00

0

萬一我有確切的Apache(httpd的服務)+乘客,只是像所有的你我不得不這樣做同樣的問題是改變「的access_token」到「訪問令牌」 從

curl --header "access_token:MnRj6qCefRc8NuYzcBvhUvRreEGVvxh9yuNe0XcOIoEA==" --data "uuid=cef8dfa1ae6cab68d8bd47e8137707ee" http://localhost/website/transactions/pull-latest 

curl --header "access-token:MnRj6qCefRc8NuYzcBvhUvRreEGVvxh9yuNe0XcOIoEA==" --data "uuid=cef8dfa1ae6cab68d8bd47e8137707ee" http://localhost/website/transactions/pull-latest