Articles of http

在HTTP OPTIONS请求中在Apache上返回“200 OK”

我试图实现跨域HTTP访问控制,而不触及任何代码。 我有我的Apache(2)服务器返回正确的访问控制标题与此块: Header set Access-Control-Allow-Origin "*" Header set Access-Control-Allow-Methods "POST, GET, OPTIONS" 当浏览器发送一个HTTP OPTIONS请求(它存储在REQUEST_METHOD环境variables中)时,我现在需要阻止Apache执行我的代码,返回200 OK 。 当请求方法是OPTIONS时,如何configurationApache来响应“200 OK”? 我已经试过这个mod_rewrite块,但访问控制标头丢失。 RewriteEngine On RewriteCond %{REQUEST_METHOD} OPTIONS RewriteRule ^(.*)$ $1 [R=200,L]

高stream量站点如何服务超过65535个TCP连接?

如果一台机器可以拥有的端口数量有限制,并且一个套接字只能绑定到一个未使用的端口号,那么服务器如何处理这个请求的数量(超过最大端口数)将会如何处理呢? 是否仅仅通过使系统分布来完成,即许多机器上的许多服务器?

如何通过单个端口处理encryption和未encryption的http连接

请看下面的图表。 替代文字http://i30.tinypic.com/8wk4tt.png 这个怎么工作? 当远程请求http:// myhost.com:8080/*时,请求应该被转发到监听回送接口的8008端口的http服务器。 这是简单的部分。 当远程用户请求http:// myhost.com:8080/specialurl … 充当应用程序级别网关的程序应该能够将连接升级到encryption会话( 不更改端口 ) 在与远程浏览器build立encryption会话之后,它应该将请求转发到C程序,该程序侦听回送接口的8000端口 我的问题是 : 你有没有在生产环境中部署这样的解决scheme? 如果你有… 你用什么产品作为应用程序网关? 你能提供一个configuration例子吗? 硬限制 : 我没有防火墙的控制权 ,通过它我可以获得外部stream量进入内部服务器的唯一端口是8080.端口号是无关紧要的,只是有一个端口在防火墙级别打开,转发传入stream量到内部服务器。 内部服务器必须运行Linux(目前正在运行Debian Lenny) 远程用户只需要使用当前的Web浏览器和Internet连接即可访问此服务器。 这意味着通过SSH的反向端口转发不是一个选项。 我需要一个经过生产testing的产品,并且可以很容易地部署。 我不打算开发自己的应用程序网关 (如果是这样的话,我想我会问在堆栈溢出这个问题,而不是在服务器故障问)。 软限制 : 我想避免将Apache作为应用程序网关(尽pipe如果这是唯一可能的select,我愿意这样做) 如果可能的话,应用程序网关应该是一个成熟的开源软件产品。 产品尝试到应用程序网关 (没有成功) nginx的 lighttpd的 磅 相关的RFC RFC2817(… 解释了如何使用HTTP / 1.1中的升级机制来通过现有的TCP连接启动传输层安全性(TLS),这使得不安全和安全的HTTPstream量可以共享相同的已知端口 …) RFC2818(… 描述了如何使用TLS来保护通过Internet的HTTP连接。目前的做法是将HTTP over SSL(TLS的前身)分层,通过使用不同的服务器端口来区分安全stream量和不安全stream量 。 ) 在此先感谢,亚历克斯

Nginx的代理caching – 如何检查它是否工作?

我已经build立了我的nginx.conf文件来使用我在网上find的教程中的代理caching。 但是,我想弄清楚如何检查它是否实际工作。 我读过的地方增加了add_header X-Cache-Status $upstream_cache_status; 到服务器部分的configuration文件应该添加一个caching头到一个响应,它将显示它是否来自caching(具有HIT,MISS或EXPIRED的值)。 但是,我想知道我在哪里可以实际查看此标题(及其值)以及如果这是正确的方式/如果有另一种方式。 一般来说,我对networking很陌生,所以很抱歉,如果这是一个简单的问题。 谢谢!

停止IIS 7.5发送错误代码上的caching控制最大年龄

我有一些静态内容与高速caching控制Max-Age头连接到它,以便客户端将caching静态内容。 但是,当存在错误响应,build议客户端将其caching时,IIS 7.5仍会将此标头发送出去。 有负面影响,一些代理将caching该错误响应。 我可以Vary: Accept,Accept-Encoding但这并没有真正解决Max-Age错误响应的根本问题。 当前相关的IIS web.config部分是: <configuration> <system.webServer> <staticContent> <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" /> </staticContent> </system.webServer> </configuration> 有没有办法让我可以做到这一点,所以我们不告诉客户端或代理caching400/500错误代码?

Apache:不安全的请求发送到安全端口…要redirect

前言 首先:一个简单的端口80 – >端口443重写不会解决这个问题。 在几乎每一个以前的问题,邮件线程,论坛线程等,我都发现这是第一个无知的反应,并被多次parrot。 其次:是的,我知道你不能在同一端口上提供HTTP和HTTPSstream量。 这不是那个。 场景: 通过端口倍增托pipe多个站点的Apache服务器。 80号港口是公共场所。 端口443提供该网站的安全版本。 端口7443,8443和9443分别服务于不同的SSL安全站点。 如果用户错误input了URL,或者input了一个无效的链接,比如说http://hostname.tld:7443 ,那么这个页面会出现下面这个荒谬的页面: 而不是服务器只是redirect到https://hostname.tld:7443 。 我的问题是,如何在Zeus的butthole的名义,你可以修改Apache的行为或这个错误消息来redirect用户自动? 即使configuration为HTTPS,Apache显然也会提供非https请求(显示该错误消息)。 对我来说,似乎非常愚蠢的做法是不要默认redirect,但是我可以理解为什么他们按照自己的行为行事,即使我不同意。 所以我的问题是:你能改变它吗? 他们正在处理错误SOMEWHERE,而Apache是​​configuration聚宝盆,这是有原因的,有一些指令的地方来处理这种行为,但我已经无法find它在几个小时的修补到目前为止。 更新: 我尝试了各种各样的东西,包括: 使用ErrorDocument 400指令来获得一个CGI和一个PHP脚本,它只是发送Status 301和Location标题。 这导致一个空白页面。 使用ErrorDocument 400 https://hostname.tld:7443只会导致在页面上显示该链接。 使用几乎所有的mod_rewrite我或谷歌的组合可以拿出来,包括全部指导网站的一揽子声明; 这些都不起作用。 从字面上看,他们什么都不做。 我猜测Apache甚至在尝试处理重写指令之前,都在踢上述错误。 由于自定义端口的使用,我无法使用基于端口的redirect。 我无法使用基于脚本的redirect,因为他们从来没有得到服务,因为http / https不匹配。 我几乎愿意把这个问题归咎于一个错误,或者是一个意想不到的行为,但是有人曾经有过这样一个想法:把一个非常自定义的错误信息放在那里,他们没有想到,也许你只是想购买他们已经提供的 URL?

如何修复iOS 8中的图像交换问题与保持活动+ HTTPpipe道系统?

自iOS8以来,我pipe理的网站正在经历一个间歇性的问题,即图像与其他图像交换位置。 这在很多地方都有提到,但没有明显的解决办法: https://discussions.apple.com/thread/6574663 http://tech.vg.no/2011/12/14/safari-on-ios-5-randomly-switches-images/ http://tech.vg.no/2012/02/01/safari-on-ios-5-randomly-switches-images-part-3/ 它在过去看来是iOS5的一个问题。 我们的服务器正在运行Lightspeedpipe道和保持活动。 我的服务器pipe理员已确认pipe道正在按请求的顺序返回资产。 他提到禁用保持活力可能会解决问题,但会大量增加服务器负载,这将是一件非常糟糕的事情。 我的所有资产都正确地传递了内容长度。 现在我真的处于死胡同了,为了解决这个问题。 由于我的许多用户使用iOS,所以每个人都开始非常沮丧。 它只是在引入iOS8的时候才出现的,它对Safari有一些相当大的改变。 在每个释放8,问题仍然存在。 正如我所说,这是间歇性的,我们的用户开始责怪我们“没有其他网站有问题”。 我想知道是否有人可以点亮这个? 有没有其他人遇到这个问题和/或find一个解决scheme? 这是一个链接到我的网站的问题: http : //bit.ly/1Ej6Xx7

Squid或其他HTTPcaching与SSDcaching存储?

我正在考虑在SSD驱动器的系统上设置一个鱿鱼(或可能清漆)caching。 显而易见的好处是这些系统有很高的读取速度,我期望我的命中率相当高。 假设我可以将7个SSD放入RAIDconfiguration中。 (有些情况会让我收拾得更多) 实施问题: 我应该使用RAID0吗? (我希望驱动器最终失败,所以这看起来很危险。) 我应该使用RAID10吗? (这减less了我的磁盘空间,这是昂贵的。) 我应该使用RAID5吗? (SSD已知具有“不良”的写入性能和写入限制,并且所有额外的奇偶校验写入可能会显着减慢这一点)。 我应该把每个磁盘当作自己的squid数据存储吗? (鱿鱼如何处理多个数据存储?以及如果/当​​一个失败时会发生什么?) 我应该忽略数据存储,只是让SSD进入大的SWAP分区,让linux虚拟机做这件事情? (似乎马虎) 任何人在生产环境中使用固态硬盘的build议将不胜感激。 (特别是如果你使用HTTPcaching)

有没有办法closures特定网站的客户端浏览器caching?

这是一个浏览器不可知的问题,但我们正在testing与IE9。 我们的用户访问的一个networking应用程序正在被随机caching,并且在他们应该更改时没有显示出来。 没有其他网站有这个问题,我们已经与谁声称这不是发生在其他任何人的供应商。 如果我们使用开发工具栏并select“强制从服务器刷新”,所有更新都正确。 而不是真正解决这个问题,我们的想法是通过禁用这个特定网站的caching来解决这个问题。 但是,我们不知道如何。

如何在Amazon EC2上设置端口转发

我有一个在Amazon EC2上运行的Web应用程序。 它监听9898端口。 我可以通过inputIP地址和端口号来访问它。 例如1.2.3.4:9898 但是,我真正希望能够做的是不必input端口号。 研究这个问题,看起来像端口转发可能是解决scheme – 即将在默认端口(80)上收到的http请求转发到我的非标准端口(9898)。 这是正确的方法吗? 如果是这样,我如何在EC2上设置? 如果不是,那么我该如何实现我想要的? 在此先感谢您的帮助。 更新 我应该提到EC2实例是Windows Server 2012 AMI。