我一直在追查一个我已经减less到以下情况的错误。 我们有一个运行apache的web服务器,它不提供服务器所在园区以外的文件名,包括“/ bin / sh”模式(例如www.example.com/some/sub/folders/bin/show.html 。可能相关的是,一旦你跳过authentication错误,在开始而不是http没有问题的情况下,与https相同的url,在我们的应用程序中很难改变所有这些文件名,所以我试图解决这个问题。如何进一步debugging?
日志文件/etc/httpd/logs/access_log显示与该文件名无关的GET请求URL。 其他文件名显示,因为它们是。 我已经检查过/etc/httpd/conf和/etc/httpd/conf.d下的configuration文件,但是我看不到任何相关的东西,虽然我不熟悉这些configuration文件。
Apache版本如下:
# httpd -v Server version: Apache/2.0.52 Server built: Oct 29 2008 09:20:05
有任何想法吗?
编辑
logging来自校园内部的消息(常规caching浏览器窗口的响应304和响应200针对私有非caching浏览器窗口):
(ip addr) - - [27/Apr/2017:13:06:45 +0300] "GET /appserv/bin/sh.html HTTP/1.1" 304 - "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:53.0) Gecko/20100101 Firefox/53.0" (ip addr) - - [27/Apr/2017:13:06:54 +0300] "GET /appserv/bin/sh.html HTTP/1.1" 200 154 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:53.0) Gecko/20100101 Firefox/53.0"
logging来自校外的消息(使用tor和各种vps节点进行testing):
(ip addr) - - [27/Apr/2017:13:08:08 +0300] "GET /cosbiom/component/option,com_extcalendar/Itemid,99999999/extmode,day/date,2031-02-04/ HTTP/1.1" 200 28936 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
如果这在校园内工作,而不是从外部工作,那么这似乎不太可能是一个与Web服务器configuration的问题(可能是,但我怀疑这种configuration将是非常明显的)。
基于简单的正则expression式匹配,在校园网的边缘有一些基于检查的防火墙似乎更可能。 这通常不会(通常)影响httpsstream量(因为它已被encryption,因此无法检查)。
你需要跟那些关注校园networking连接的人谈话(我假设你已经尝试了多个外部连接,所以你确定问题在于服务器端)。