Articles of http

什么工具search/w00tw00t.at.ISC.S.DESDFind :)?

在我的Web服务器日志中,我收到了很多这样的信息:[错误] [客户端xxxx]客户端发送的HTTP / 1.1请求没有主机名(请参阅RFC2616第14.23节):/w00tw00t.at.ISC.SANS.DFind 🙂 我知道这只是一个失败的要求,我不必担心它太多。 在过去,我试图寻找这样做的实际脚本或工具。 从这个请求的发生次数来看,它一定是相当常见的。 我发现了关于如何处理消息的不同提示,但我有兴趣查看这个工具/脚本本身,我从来没有发现它提到的名称或位置。 我的问题在这里结束。 更多的背景:今天我注意到做这个请求的客户之一是我的另一台服务器的IP,其实非常重要,因为它是我的服务器虚拟化主机。 我怀疑是入侵。 这就是为什么我要看这个脚本 – 所以我可以分析它做了什么,以及如何find它。

Lighttpd:将特定位置和子位置从HTTPredirect到HTTPS(不使用域名)

我想redirect网站的特定部分从HTTP://到HTTPS://使用Lighttpd。 我一直在看这个Lighttpd维基条目 ,但是这些例子并不按照我想要的方式工作。 我有两个要求: 在URLredirectconfiguration中不应该指定特定的域。 不是这样的: "^/(.*)" => "https://www.example.com/secure/" redirect也应该应用到位置的子项目,即 http://主机名/安全=> https://主机名/安全 http:// hostname / secure / subdir / file.ext => https:// hostname / secure / file.ext …

浏览器何时从HTTP请求中单独发送HTTP负载?

即使数据包大小之和仍然小于最大段大小,在什么情况下,您会期望Web浏览器将HTTP请求分成两个IP数据包? 我会假设这将始终作为一个单一的数据包发送,但我的经验显示,否则。 使用Microsoftnetworking监视器分析HTTPstream量,我偶尔会看到一个分为两个IP数据包的请求,如下所示 HTTP:Request, POST /foobar.htm (PacketID=55178, TotalLength=528) POST /foobar.htm HTTP/1.1 Content-Type: application/x-www-form-urlencoded …etc… HTTP:HTTP Payload, URL: /foo.htm (PacketID=55179, TotalLength=98) param1=foo&param2=bar&param3=foo+bar 到目前为止,我只在Windows XP客户端上看到过这种情况,但在所有XP客户端上都不会发生这种情况。 而在受影响的系统上,IE8和Firefox都performance出相同的双包行为。 一些情况:我们最近开始使用第三方软件包,在我们的Intranet上提供一个Web应用程序。 但不是使用像IIS或Apache这样的真正的Web服务器,软件在内部实现了自己的HTTP服务器。 由于服务器使用HTTP的一个天真的实现,它只检查HTTP请求的第一个数据包,并错过在第二个数据包中发送的参数。 这会导致请求失败。

HTTP /redirect到服务器上的URI

我想redirect一个特定的URI到同一台服务器上的一个新的。 这可以通过发送具有3xx代码的响应和“位置”标题来完成。 现在HTTP / 1.1标准规定这应该是一个“绝对的URI”。 (见http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30 ) 那么他们究竟是什么意思的“绝对的URI”? 在给出的例子中,他们包括完整的URI,协议,主机名和path。 现在我想redirect到同一台服务器上的URI,我知道path。 这是一个绝对的URI(它从根开始),但没有主机名和协议。 事实上,服务器可能不知道自己的主机名,并且很难构build完整的URI。 根据HTTP / 1.1标准,是否也有效地发送一个没有主机名和协议的URI? 我试过了,我testing的每个浏览器似乎都明白了。 我的问题是:这样做是正确的吗? 示例回应: HTTP/1.1 303 See Other Location: /path/to/other 代替: HTTP/1.1 303 See Other Location: https://hostname.com/path/to/other

IIS是否同时支持HTTP基本authentication和表单authentication?

前言:我是一个非常了解apache服务器的web开发人员,但是我对IIS或.NET知之甚less 我和一位开发人员一起工作,他们已经避免了将基本身份validation添加到运行IIS的登台服务器一段时间的请求。 他今天终于补充说,但是加了一条消息 IIS不允许您同时使用基本身份validation和表单身份validation。 我通过安装第三方进程来解决这个问题,该进程允许您在iis模块前使用.htaccess / apache模块。 要求更多的资源密集型,但是升级并不重要。 我的问题是(因为这个解释在面对我所知道的有关web应用程序和责任分离的所有方面都是飞快的),那么IIS怎么可能阻止在使用自定义表单validation的网站上使用基本validation呢?

HTTPS vs HTTP Apache web应用性能对比(初学者)

我正在运行一个Apache服务器和我通过局域网访问的JSP Web应用程序。 我想testingWeb应用程序(这是第三方…不是由我写的)的性能来决定是否在HTTP或HTTPS下运行它。 当谈到所有这些性能testing和所有这些,我都是初学者。 有人可以推荐我的工具,并给这个问题一些初学者级别的信息(详细的博客文章也可以)。 基本上,我需要知道我应该如何去testing,我怎样才能决定是否在HTTP或HTTPS下运行它? 当然HTTPS将是首选,但如果性能的影响是显着的,那么我将在HTTP下运行它。 我想知道如何量化对绩效的影响。 我知道这里有一些类似的问题(比如https和http for apache有多大的性能? ),但是答案主要针对的是非常专业的pipe理员,我不能理解如何使用上述工具在那些答案中。 PS我在Windows下运行的一切 。

我可以将NGINX设置为透明的SSL代理吗?

NGINX可以设置为支持SSL的反向透明代理吗? 我有一个使用HTTPS的第三方应用程序。 出于商业目的,需要logging来自HTTPS连接的一些请求数据。

为什么此HTTP头configuration会导致浏览器始终执行If-Modified-Since请求?

在我们的服务器上,我们已经configuration了http响应头,如下所示: Cache-Control:max-age=28800, must-revalidate # (8 hours) Connection:Keep-Alive Date:Wed, 24 Apr 2013 21:36:19 GMT ETag:W/"173520-1366833451000" Expires:Thu, 25 Apr 2013 05:36:19 GMT # (8 hours from access) Keep-Alive:timeout=15, max=484 Server:Apache-Coyote/1.1 Vary:Accept-Encoding,User-Agent 我们的意图是资源被浏览器caching8个小时,然后浏览器在使用caching副本之前应该检查它是否被修改过(有304请求)。 不过,我发现浏览器总是做一个304 。 (它继续使用它的caching副本,但在此之前检查服务器是否有修改 – 我想在8小时后发生,而不是所有的时间。 正如我认为它应该工作, Cache-Control:max-age=28800, must-revalidate应该指示客户端使用caching的资源,直到它在caching中达到max-age ,之后它must-revalidate与原始服务器must-revalidate 。 我相信Expires指令更像是一个后备,而Cache-Control取代了 – 但是如果它在起作用,我希望浏览器在到期date之前使用caching副本,然后获取新的副本。 大部分是从这篇文章中收集的,仔细阅读规范。 显然,我的理解是不完整的 – 我错过了什么? 编辑:我错误地认为通过刷新当前页面,我将testing当浏览器转到具有相同资源链接的后续页面时会发生什么。 我错了 – 点击“刷新”button通常似乎强制浏览器检查在使用caching副本之前是否有任何资源已被修改, 这非常明显 。 当我点击到其他页面时,资源就像预期的那样直接从caching中取出。

SSL / TLS证书:获取与LAN IP一起使用的替代名称

我创build了自己的CA,并在我的设备上导入了它的根证书。 我使用签名的SSL证书来提供自己的远程访问我的NAS。 当我通过正确的URL(例如mynas.example.com)访问我的NAS时,我得到一个铬合金的绿色锁,所以我为我工作。 问题出在我的局域网上:目前,当我通过局域网的IP地址访问我的NAS时,我收到一个安全警告,表示这个名字并不是证书上的名字。 我试图把NAS IP放到X509v3的“主题替代名称”部分,但无济于事。 内容是这样的: DNS:mynas.example.com, DNS:192.168.1.42 它使用dynDNS名称完美工作,但与局域网IP不兼容。 我最好的猜测是,这部分没有真正评估,因为我键入的IP和DNS是不需要的。 我错过了什么? 我怎样才能启用我的局域网内的“绿色locking”-TLS? openssl.cnf文件中的部分如下所示: [alt_names] DNS.1 = mynas.example.com DNS.2 = 192.168.1.42 IP.1 = 192.168.1.42 而所有的工作完全通过广域网和我的局域网内:-) IP.1是必要的Chrome,但Opera(我认为IE浏览器以及)需要IP作为DNS条目。

由localhost提供的HTML正在被ISP修改

我昨天把笔记本电脑带到当地的一家餐馆做了一些设置新的networking应用的工作。 我得到了服务器,并创build了一个简单的HTML页面: <html> <body>Hello, world.</body> </html> 我启动服务器(泽西岛),然后发出以下命令以确保一切正常工作: curl http://localhost:8080/assets/index.html 想象一下,当我看到下面这个简单的文档而不是简单的文档时,我感到惊讶: <html lang="en" xml:lang="en"><!PAGEREF 1> <head><title>Eguide</title> <script type="text/javascript" src="/all/rootscript.js"></script> <script type="text/javascript" src="/cobrandscript.js"></script> </head> <!– /yp/home.htm <a href="http://webmailtest.bellsouth.net" target=_top>Webmail test</a> v. 2.8b srv24 –> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta http-equiv="refresh" content="0;URL=http://home.bellsouth.net"> </head> <body> </body> </html> <html> <body>Hello, world.</body> </html> 我的文档在底部,但在此之前,有一些代码已经被注入。 我的第一个想法是grep我的系统中包含的结果HTML中的一些string(例如grep -ri cobrandscript从根目录运行)。 我的系统上没有可疑的文件。 所以,我关掉我的无线networking,并发出相同的curl命令。 这一次,我的3行HTML文件被返回,没有任何添加。 […]