2017-06-14 122 views
0

我是新來的apache很抱歉,如果這是一個新手問題。我有一個反向代理建立(和工作),用下面的代碼,其中包括一個工作認證:Apache認證的IP地址

<VirtualHost *:80> 

ServerAdmin [email protected] 
DocumentRoot /var/www/html 

ProxyPass /PIZZA/ http://localhost:3636/PIZZA/ 
ProxyPassReverse /PIZZA/ http://localhost:3636/PIZZA/ 
ProxyPreserveHost On 

<Location /PIZZA/> 
AuthUserFile /etc/USER_PWD/PIZZA_PWD 
AuthName "Password Protected" 
AuthType Basic 
require valid-user 
</Location> 

</VirtualHost> 

上述認證工作,如果我去做我的/比薩/ URL。但是,如果我輸入相同url的源IP地址(例如:192.168.1.11:3636/PIZZA/),網頁加載時不需要驗證。

我的問題,有沒有一種方法來驗證特定的源IP地址?像下面這樣(不起作用)?

<Location http://192.168.1.11:3636/PIZZA/> 
AuthUserFile /etc/USER_PWD/PIZZA_PWD 
AuthName "Password Protected" 
AuthType Basic 
require valid-user 
</Location> 

任何幫助將非常感激。謝謝!

+0

您不希望在偵聽端口3636的後端服務器中實施額外的身份驗證。您只是想要阻止對該端口的所有請求,這些請求會在網絡級別從系統本身執行_not_ original。因此,請使用您的 網絡包過濾器(「防火牆」)。 – arkascha

回答

0

感謝您的回覆。這可能是嘗試執行第二次身份驗證的菜鳥錯誤。

Arkascha - 你的回答指向了我正確的方向,並且我得到了它的工作。我基本上阻止了對防火牆端口的訪問,並且工作。

如果沒有你指出我正確的方向,我永遠都不會想到這一點,所以謝謝!

0

在第二種情況下,你甚至沒有訪問Apache,所以沒有任何Apache配置會有什麼不同。如果您希望後端服務器只接受來自您的代理服務器的連接,則必須適當地配置後端服務器(或者指望通過TCP無法訪問)