2016-11-14 127 views
0

我正在使用Laravel項目(API),並且在請求頭中存在自定義參數的問題。Laravel無法獲得與nginx請求中的參數標頭

我需要在請求標題中發送一個標記,所以我只是在我的請求中添加一個參數api_token

當我在我的本地與apache2配置,我可以在Laravel讓我的頭請求與$request->header('api_token') PARAM,但是當我TR我的服務器nginx配置上,我總是得到null

對於我來說,有nginx和頭文件請求有問題,我該怎麼辦?

任何想法?也許它不是來自nginx ...

+0

Laravel使用'Symfony \ Component \ HttpFoundation \ Request''headers'集合來獲取頭文件參數。用symfony組件相關標籤詢問你的問題。 – Morilog

回答

6

這是因爲默認Nginx不允許帶下劃線的標頭。您可以在報頭參數簡單地更新到api-token

$request->header('api-token'); 

或者你可以配置你的Nginx的配置,以允許標頭以下劃線。某處你server塊之間,加underscores_in_headers指令是這樣的:

server { 
    ... 
    underscores_in_headers on; 
    ... 
} 

也不要忘記重新加載你的Nginx的配置。閱讀更多關於underscores_in_headers指令here

希望這可以解決您的問題。

+0

是的,是的,謝謝你:) –

+0

它的工作原理,謝謝! –