标签: http

Tomcat 6 HTTP 日志滚动和清除

我们在 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 目录?

http tomcat logging

5
推荐指数
1
解决办法
4111
查看次数

通过 http 为多个用户设置 SVN 服务器

SVN 注释功能非常强大,可以快速确定谁在特定代码行上追踪特定功能。如果用户通过 http 访问 SVN,则此功能会稍微受限(但仍然有用)。没有凭据以这种方式交换,因此注释不显示由使用 http 提交更改的开发人员修改的行的名称。

问题是,开发人员有没有办法将某种凭据传递给服务器上的 SVN 以唯一标识他们的提交?在此环境中仅需要存在 ID。svn+ssh 和文件协议等替代方法不可用。最后,该服务器位于内部 LAN 上,而不是公共 LAN。也欢迎 https 提示。

SVN 服务器运行在带有 Apache2 的 Linux 上。

linux http svn web-server svnserve

5
推荐指数
2
解决办法
2006
查看次数

Apache 2 mod_rewrite - 如何读取 POST 参数?

我想使用 mod_rewrite 来读取 POST 请求中发送的参数。我需要检查值并处理请求。

mod-rewrite http apache-2.2

5
推荐指数
2
解决办法
4910
查看次数

透明 HTTP 代理 (Windows)

我在我的家庭网络上为 HTTP 缓存设置了 SquidNT,它运行良好。不过,我想将其用作透明代理服务器。谷歌搜索告诉我使用 Softperfect 带宽管理器来做我通常使用 iptables 的端口重定向的东西,但它在 30 天后花费 99 美元。我想知道是否有一个 FLOSS(甚至免费软件)应用程序可以用来将端口 80 上的出站流量转发到 Windows XP 上的 localhost:3128?

windows http proxy windows-xp port

5
推荐指数
1
解决办法
7231
查看次数

http 请求的 gzip 不正确,找不到是谁在做的

我们看到了一些非常奇怪的 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)

http gzip http-headers apache-2.2

5
推荐指数
1
解决办法
2183
查看次数

在 apache 上为任何 php 脚本启用 PUT 方法

我想为我的 Apache Web 服务器上的任何 .php 脚本启用 PUT 和 DELETE 方法。

目前我只有这个答案:

URL /something.php 不允许请求的方法 PUT

我在 Debian lenny 上运行 Apache2/PHP5。

php http debian apache-2.2

5
推荐指数
1
解决办法
2万
查看次数

通过 Varnish 提供应用程序 HTTP/5xx 错误页面

我正在通过 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 指令一样简单?

谢谢。

http proxy cache varnish

5
推荐指数
1
解决办法
4793
查看次数

Squid、身份验证、Outlook Anywhere、Windows 7 和 HTTP 1.1 = NIGHTMARE

我正在使用 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(看起来这可能需要很长时间)时,我正在寻找以下解决方案之一:

  • 如果可能的话,让 Squid 正确处理这个问题。
  • 识别 Outlook Anywhere 连接并使 Squid …

http windows-7 authentication squid outlook-anywhere

5
推荐指数
1
解决办法
3133
查看次数

我如何嗅探/转储 HTTP 协议作为带有 tcpdump 或替代端口的 ASCII?

我需要查看应用程序如何通过它在本地主机上通信的 http 协议发送和接收流量(它有一个用 .gz 编码的嵌入式端口)我确定它发送和接收的是一些 XML,但我想嗅探它,然后分析它

这可以通过 Tcpdump 以某种方式实现吗?在那里我只能看到它连接但看不到实际的发送接收

monitoring http packet-sniffer tcpdump

5
推荐指数
2
解决办法
2万
查看次数

您到底如何测试 HTTPS 站点的已撤销证书?

我目前正在使用 nagios 进行监控,包括使用check_http选项来检查即将到期的 SSL 证书等。我想做的是测试我监控的每个站点的吊销证书。听起来很容易,对吧?好:

  • check_http似乎没有检查吊销的证书。至少最近发生的时候没有发出哔哔声,这导致了一些混乱
  • Opensslverify有-crl_checkand -crl_check_all,这会很棒,但我更关心 OSCP 而不是 CRL(因为这是浏览器会关心的)
  • Openssl 有一种oscp模式,但看起来我必须做很多工作才能将证书放在正确的位置,找出 OSCP 服务器的位置等。

我找到了很多关于编写代码来进行 OSCP 检查的文章,但是必须有一个很好的程序来完成它,对吧?我想要的是 Nagios 检查,或者我可以用作检查的东西。在我的完美世界中,它看起来像:

check_http_with_oscp -I (IP) -H (hostname) -p 443
Run Code Online (Sandbox Code Playgroud)

任何人?

ssl http https nagios

5
推荐指数
1
解决办法
3653
查看次数