![与 Apache 代理配置相关的几个问题](https://linux22.com/image/695783/%E4%B8%8E%20Apache%20%E4%BB%A3%E7%90%86%E9%85%8D%E7%BD%AE%E7%9B%B8%E5%85%B3%E7%9A%84%E5%87%A0%E4%B8%AA%E9%97%AE%E9%A2%98.png)
这是配置:
<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 /
?
2)应配置Proxy *
或Proxy /
3) 所有属性(例如Deny from all
或Allow from localhost
)是否应配置两次(Proxy
和Directory
)或仅在一个地方配置就足够了? 如果在一个地方应该配置:Proxy
或Directory
?
4)哪种配置优先Proxy
或Directory
?
添加
配置文件中的目录/代理顺序是否重要?例如,如果我有特定的/app
相关部分,它应该位于根部分之前还是之后?
<Directory /app>
AuthType None
</Directory>
<Proxy http://localhost:8080/app >
AuthType None
</Proxy>
答案1
基本解释:
- URI是您在浏览器窗口顶部附近看到的内容。服务器在
HTTP GET xxx ... Host: yyy
每次对话开始时都会看到它。 - 前端是你的 apache;通常是明确包含在 URI 中的服务器,因此客户端(浏览器)可以联系它;但前端只对请求进行一些中间处理,并将其传递给其他后端服务器,返回结果。 在您的例子中,中间处理似乎是 TLS/SSL,后端是 Tomcat。
- Apache 文档说反向代理指前端时。这是同义词。
- 浏览器不需要知道后端,反之亦然。
- 浏览器发送一个 URI,前端更改该 URI,后端看到一个不同的 URI。
现在你的问题的实际答案是:
- 这
<Proxy>
匹配后端 URI。 - 这
<Directory>
匹配真实的本地文件系统目录,您可以cd
从 shell 中进行该操作。 - 因此匹配的请求
<Directory>
很可能永远不会匹配<Proxy>
。
您所写的其余内容要么需要花一分钟查看文档,要么在此网站上作为单独的问题提出。