我们在 Apache Tomcat 6 容器中运行我们的 Web 应用程序。我们的代码使用 SLF4J 和 Logback 并且滚动/清除就好了。Tomcat 日志(catalina、stdout 等)会在 Tomcat 服务重新启动时被删除。
问题是我们也在做一些 HTTP 日志记录。就任何人而言,它来自 Tomcat server.xml 文件中的这一行。
<Valve className="org.apache.catalina.valves.FastCommonAccessLogValve" directory="httplogs" pattern="combined" resolveHosts="false" prefix="" suffix=".log" rotatable="true" fileDateFormat="yyyy-MM-dd" />
Run Code Online (Sandbox Code Playgroud)
这似乎旋转得很好,但从不清除。有没有办法让 Tomcat 自动清除它,或者我是否必须修改重启脚本来清理 httplogs 目录?
SVN 注释功能非常强大,可以快速确定谁在特定代码行上追踪特定功能。如果用户通过 http 访问 SVN,则此功能会稍微受限(但仍然有用)。没有凭据以这种方式交换,因此注释不显示由使用 http 提交更改的开发人员修改的行的名称。
问题是,开发人员有没有办法将某种凭据传递给服务器上的 SVN 以唯一标识他们的提交?在此环境中仅需要存在 ID。svn+ssh 和文件协议等替代方法不可用。最后,该服务器位于内部 LAN 上,而不是公共 LAN。也欢迎 https 提示。
SVN 服务器运行在带有 Apache2 的 Linux 上。
我想使用 mod_rewrite 来读取 POST 请求中发送的参数。我需要检查值并处理请求。
我在我的家庭网络上为 HTTP 缓存设置了 SquidNT,它运行良好。不过,我想将其用作透明代理服务器。谷歌搜索告诉我使用 Softperfect 带宽管理器来做我通常使用 iptables 的端口重定向的东西,但它在 30 天后花费 99 美元。我想知道是否有一个 FLOSS(甚至免费软件)应用程序可以用来将端口 80 上的出站流量转发到 Windows XP 上的 localhost:3128?
我们看到了一些非常奇怪的 HTTP 响应修改,我们无法弄清楚这是怎么回事。我们有一个处理 JSON 请求的应用服务器。有时,响应以 gzip 格式返回,但包含不正确的标头,导致浏览器无法正确解释它。
这个问题是间歇性的,随着时间的推移会改变行为。昨天早上它似乎有 50% 的时间失败,事实上,它似乎与我们的两台负载平衡服务器之一有关。下午晚些时候,它在 1000 次中只有 20 次失败,并且与应用服务器无关。
这两个应用程序服务器运行 Apache 2.2,带有 mod_wsgi 和一个 Django 应用程序堆栈。它们具有相同的 Apache 配置和源代码树,甚至在 Red Hat 上安装了相同的软件包。前面有一个硬件负载均衡器,我不知道品牌或型号。
Akamai 也是食物链的一部分,尽管我们移除了 Akamai,但问题仍然存在。
这是一个很好的请求和响应:
* Connected to example.com (97.7.79.129) port 80 (#0)
> POST /claim/ HTTP/1.1
> User-Agent: curl/7.19.7 (x86_64-pc-linux-gnu) libcurl/7.19.7 OpenSSL/0.9.8k zlib/1.2.3.3 libidn/1.15
> Host: example.com
> Accept: */*
> Referer: http://example.com/apps/
> Accept-Encoding: gzip,deflate
> Content-Length: 29
> Content-Type: application/x-www-form-urlencoded
>
} [data not shown]
< HTTP/1.1 200 OK
< Server: Apache/2 …Run Code Online (Sandbox Code Playgroud) 我想为我的 Apache Web 服务器上的任何 .php 脚本启用 PUT 和 DELETE 方法。
目前我只有这个答案:
URL /something.php 不允许请求的方法 PUT
我在 Debian lenny 上运行 Apache2/PHP5。
我正在通过 Varnish 运行一些 Rails 应用程序,以提供更好的缓存支持,这有望比 Rails 中的页面缓存选项更灵活。
我偶然发现的一个问题是,当从应用程序服务器返回 HTTP/50x 错误时,varnish 不会提供自定义错误页面(例如,当 Rails 应用程序引发异常时,我们会呈现自定义错误 HTML 模板) - 而不是看到'nice' 用户友好的错误页面,我们看到以下文字:
Error 503 Service Unavailable
Service Unavailable
Guru Meditation:
XID: 828451354
Varnish cache server
Run Code Online (Sandbox Code Playgroud)
有什么方法可以将获取的 HTML 从后端服务器传递给客户端吗?是否与实现 sub_error VCL 方法和使用 fetch 或 pass 指令一样简单?
谢谢。
我正在使用 Samba 3.5.4 在 Linux CentOS 5.4 上运行 Squid 代理(最新版本,3.1.4),以允许域用户进行身份验证的 Web 访问;一切正常,甚至完全支持 Windows 7 客户端。身份验证对域用户是透明的,而对于非域用户则是明确请求的,并且如果用户可以提供有效的域凭据,它就可以工作。一切都很好。
然后,Outlook Anywhere 开始工作,随之而来的是痛苦和苦难。
当 Outlook(无论是 2007 还是 2010,都无所谓)在 Windows XP 客户端上运行时,它会通过 Squid 代理正常连接到其远程 Exchange 服务器。
当它在 Windows 7 上运行时,它不会。
如果从代理中取消身份验证要求,则一切都可以在 Windows 7 上运行,因此问题显然与使用 Squid 的 NTLM 身份验证有关。
深入研究 (WireShark),我发现 Outlook Anywhere 在 Windows 7 上运行时使用 HTTP 1.1,而在 Windows XP 上运行时使用 HTTP 1.0。而且看起来像 Squid,即使是它的最新版本,在正确处理 HTTP 1.1 方面仍然存在一些严重的问题,尤其是在混合使用 SSL 和代理身份验证时。
在等待 Squid 完全和正式支持 HTTP 1.1(看起来这可能需要很长时间)时,我正在寻找以下解决方案之一:
我需要查看应用程序如何通过它在本地主机上通信的 http 协议发送和接收流量(它有一个用 .gz 编码的嵌入式端口)我确定它发送和接收的是一些 XML,但我想嗅探它,然后分析它
这可以通过 Tcpdump 以某种方式实现吗?在那里我只能看到它连接但看不到实际的发送接收
我目前正在使用 nagios 进行监控,包括使用check_http选项来检查即将到期的 SSL 证书等。我想做的是测试我监控的每个站点的吊销证书。听起来很容易,对吧?好:
check_http似乎没有检查吊销的证书。至少最近发生的时候没有发出哔哔声,这导致了一些混乱verify有-crl_checkand -crl_check_all,这会很棒,但我更关心 OSCP 而不是 CRL(因为这是浏览器会关心的)oscp模式,但看起来我必须做很多工作才能将证书放在正确的位置,找出 OSCP 服务器的位置等。我找到了很多关于编写代码来进行 OSCP 检查的文章,但是必须有一个很好的程序来完成它,对吧?我想要的是 Nagios 检查,或者我可以用作检查的东西。在我的完美世界中,它看起来像:
check_http_with_oscp -I (IP) -H (hostname) -p 443
Run Code Online (Sandbox Code Playgroud)
任何人?
http ×10
apache-2.2 ×3
proxy ×2
cache ×1
debian ×1
gzip ×1
http-headers ×1
https ×1
linux ×1
logging ×1
mod-rewrite ×1
monitoring ×1
nagios ×1
php ×1
port ×1
squid ×1
ssl ×1
svn ×1
svnserve ×1
tcpdump ×1
tomcat ×1
varnish ×1
web-server ×1
windows ×1
windows-7 ×1
windows-xp ×1