gpt4 book ai didi

apache - ProxyPreserveHost 似乎对我没什么用

转载 作者:行者123 更新时间:2023-12-04 02:02:29 24 4
gpt4 key购买 nike

我在网上看到很多提到使用 ProxyPreserveHost On确保代理后端接收原始调用者的主机名。我正在使用它来加强我的 Web 应用程序的安全性(Java、Tomcat),而如果我的日志能够显示用户实际所在的位置也会很好。我的 Tomcat 日志现在显示了这一点——非常没用:

127.0.0.1 - - [17/Mar/2013:06:32:13 +0100] "GET /webapp/frontend/app/partials/welcome.html HTTP/1.1" 200 54

这是我的配置,显然不能按预期工作:

“/etc/apache2/sites-enabled/000-default”
<VirtualHost *:80>
ProxyPreserveHost On
ProxyPass /webapp http://localhost:8080/webapp
ProxyPassReverse /webapp http://localhost:8080/webapp
RewriteEngine On
RewriteRule ^/$ /webapp/frontend/app/ [proxy]
RewriteRule ^/webapp/$ /webapp/frontend/app/ [redirect]
RewriteRule ^/webapp/app/$ /webapp/frontend/app/ [redirect]

(从这里开始 000-default 中的默认内容)

启用的模块:
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod rewrite

这是运行 Apache HTTPD 2.2.22 的 Ubuntu 12.10。

您的帮助将不胜感激。

最佳答案

我假设您担心的是您的访问日志在客户端字段中仍然包含 127.0.0.1 。这不受 ProxyPreserveHost 的影响;这是连接到 Apache 的网络端点的 IP 地址。对于来自另一台服务器的代理连接,这将始终是 localhost。

另外,ProxyPreserveHost是关于保留 Host客户端发送的 header ,而不是保留客户端的原始 IP。换句话说,这是关于信息朝着错误的方向发展的信息;它保留了客户端发送的服务器名称,而不是客户端的 IP。

我认为您的问题与 this question 相同.我要补充一点,您可以记录 X-Forwarded-For使用 %{X-Forwarded-For}i 在您的日志中添加标题在您的 CustomLog配置。

关于apache - ProxyPreserveHost 似乎对我没什么用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15457923/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com