Apache-2.2
與 Apache 代理配置相關的幾個問題
這是配置:
<Directory /> Deny from all Allow from localhost Order Deny,Allow AuthType Basic Require valid-user AllowOverride None Satisfy any Options None FollowSymLinks </Directory> <Proxy *> Deny from all Order Deny,Allow AuthType Basic Require valid-user Satisfy any Options None FollowSymLinks </Proxy>
問題:
1)
Proxy *
如果已經配置,為什麼要配置Directory /
?
應配置
Proxy *
或Proxy /
所有屬性(例如
Deny from all
orAllow from localhost
)應該配置兩次(Proxy
andDirectory
)還是只在一個地方配置足夠?如果在一個應該配置的地方:Proxy
或Directory
?4)什麼配置優先
Proxy
或Directory
?添加 了配置文件中目錄/代理的順序重要嗎?例如,如果我有特定的
/app
相關部分,它應該在根部分之前還是之後?<Directory /app> AuthType None </Directory> <Proxy http://localhost:8080/app > AuthType None </Proxy>
基本解釋:
- URI是您在瀏覽器視窗頂部附近看到的內容。
HTTP GET xxx ... Host: yyy
伺服器在每次對話開始時都會看到它。- 前端是你的 apache;通常是明確包含在 URI 中的伺服器,因此由客戶端(瀏覽器)聯繫;但是前端只對請求做一些中間處理,並將其傳遞給其他後端伺服器,將結果傳回。在您的情況下,中間處理似乎是 TLS/SSL,而後端是 Tomcat。
- Apache 文件在提到前端時說**反向代理。**那是同義詞。
- 瀏覽器不需要知道後端,反之亦然。
- 瀏覽器發送一個 URI,前端更改 URI,後端看到不同的 URI。
現在你的問題的實際答案是:
<Proxy>
匹配後端 URI 。- 匹配一個真正的
<Directory>
本地文件系統目錄,你可以cd
從 shell 中找到它。- 因此,匹配的請求
<Directory>
很可能永遠不會匹配<Proxy>
.您所寫的其餘內容需要花一分鐘時間查看文件,或者在此站點上作為單獨的問題提出。