1. 程式人生 > >nginx:not a directory

nginx:not a directory

專案需要在nginx中提供一個配置檔案返回介面的資訊,於是就添加了location來實現,本以為很簡單的操作,結果訪問配置檔案時一直返回404,nginx的error log中輸出:not a directory。

nginx的配置如下所示:

日誌中的報錯如下:

找了半天沒發現有啥問題,在另臺測試機器上用同樣的配置檔案配置,發現沒有問題,可以訪問。於是從nginx程式碼中的openat關鍵字排查,定位在openat這個函式上,貌似它不支援軟連結,而碰巧root配置的路徑中有一個是軟連結。

自測程式:

至此,問題排查清楚,修改root指向一個非軟連結的目錄即可。