2013-01-24 28 views
5

來自apache2的一個功能我無法實現;只需要對外部訪問進行身份驗證,但是可以訪問本地網絡上的用戶。 任何想法如何輕鬆處理這種情況?Nginx驗證除了本地網絡上的驗證

任何幫助,將不勝感激。

回答

5

我已經刪除了我以前的答案,並想建議我提供以下

我做了一點搜索,發現這個問題的解決方案的解決方案 - 在代碼中,在您使用auth_basic指令,做出這樣的更改

satisfy any; 
allow  10.0.0.1/8 // give access for all internal request 
deny  all; 
auth_basic "...."  // your auth_basic code goes here 
auth_basic_user_file ... // your auth_basic_user_file goes here 

它是如何工作的? satisfy指令意味着必須傳入來自下一個訪問規則的anyall才能訪問資源。你可以在這裏找到更多的細節:satisfy

這應該完全適合你的問題。)

+0

嘗試添加一個變量,但它似乎nginx的不喜歡它: nginx的-t [EMERG]:「auth_basic 「指令在這裏是不允許的 – Stefan

+0

你對整個服務器(在'服務器塊)還是僅僅在一些位置塊使用你的身份驗證? – emka86

+0

在「位置/」塊中。 – Stefan