我想添加一些自定義HTTP標頭來自移動客戶端的認證時,像使用nginx的+乘客
{「MOBILE_KEY」已失去自定義HTTP標頭=>「XXX」,「MOBILE_SIGNATURE」 =>' yyy'}
當我在開發中使用webrick/thin/mongrel時,它工作正常,但是當我用nginx + passenger將它部署到生產服務器時,自定義標題被刪除,爲什麼?我能做些什麼?
我想添加一些自定義HTTP標頭來自移動客戶端的認證時,像使用nginx的+乘客
{「MOBILE_KEY」已失去自定義HTTP標頭=>「XXX」,「MOBILE_SIGNATURE」 =>' yyy'}
當我在開發中使用webrick/thin/mongrel時,它工作正常,但是當我用nginx + passenger將它部署到生產服務器時,自定義標題被刪除,爲什麼?我能做些什麼?
嘗試使用自定義標題的X-風格命名。在傳遞名爲「device_id」的標頭時,我遇到了這個問題。它會在nginx/Passenger層中的某處被剝離出來。我懷疑這是乘客,但不知道。
我將頭文件更改爲「X-device-id」,頭文件隨後在我的Rails控制器中作爲request.headers ['X-device-id']提供給我。
你需要做兩件事情:
確保所有的令牌開始與 「X-」
例如: 「X-你的令牌」
配置nginx通過這個令牌:
proxy_pass_header X-mobile-access-token;
nginx
中有一個指令,它表示忽略名稱中帶'_'的標頭。
http://nginx.org/en/docs/http/ngx_http_core_module.html#underscores_in_headers
,幫助我,但重寫你的軟件使用X-格式可能會更好。
apache +乘客也是如此 – d1jhoni1b 2016-07-04 18:10:09
萬一我有確切的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
看來,nginx的會通過X-頭,所以並不需要第2步。 – twinsant 2013-10-11 00:00:00