我有一个小网站,其中一些内容使用AJAX在HTML标记中显示。 内容只是从同一个网站上的另一个页面。 但是,有时不是加载parsing的PHP文件,而是浏览器显示一个下载框。 我下载了这个文件,看起来像是一个混合有二进制或gzip压缩数据的文本文件。 我不能在这里粘贴二进制文件,但是这里有一些头文件: Jul 2012 18:52:16 GMT Server: Apache/2 X-Powered-By: PHP/5.3.10 Content-Encoding: gzip Vary: Accept-Encoding,User-Agent Keep-Alive: timeout=1, max=95 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/html HTTP/1.1 304 Not Modified Date: Sun, 01 Jul 2012 18:52:16 GMT Server: Apache/2 Connection: Keep-Alive Keep-Alive: timeout=1, max=93 ETag: "2fc857-409-4c39691c59b40" HTTP/1.1 304 Not Modified Date: Sun, 01 Jul 2012 […]
TLDR:302,307和错误页面正在被caching。 需要强制刷新的内容。 长版本:我已经设置了一个非常小的鱿鱼实例在网关上运行,不应该caching任何,但需要被单独用作基于域的网页filter。 我正在使用其他应用程序将未经身份validation的用户redirect到代理,然后使用deny_info选项将任何未列入白名单的请求redirect到login页面。 在用户validation之后,防火墙规则被放置,以便它们不再被发送到代理。 问题是,当用户点击一个网站(xkcd.com)时,他们是未经authentication的,所以他们通过防火墙redirect: iptables -A unknown-user -t nat -p tcp –dport 80 -j REDIRECT –to-port 39135 到这个代理在这一点上鱿鱼redirect用户login页面使用302(我也试过307,我也确保头设置为无caching和/或无存储caching控制和Pragma)。 然后,当用户login到系统时,他们得到的防火墙规则,不再指引他们到鱿鱼代理。 但是,如果他们再次访问xkcd.com,他们将获得caching的原始redirect页面,并将再次获取login页面。 任何想法如何强制这些redirect不被浏览器caching? 也许这是一个问题w /浏览器,而不是鱿鱼,但不知道如何绕过它。 下面是完整的squidconfiguration。 # # Recommended minimum configuration: # acl manager proto cache_object acl localhost src 127.0.0.1/32 ::1 acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1 acl localnet src 192.168.182.0/23 # RFC1918 possible internal […]
我安装了php的本地httpd Apache 2.2testing服务器与ipad用户有问题。 我编写了一个脚本,使用PHP会话保持login,该页面有一个JavaScript重新载入一个iframe和它的PHP检查,如果用户仍然login或不。 问题是,当我的webhotel运行的页面,它完美的工作,但即时通讯运行页面om我的本地服务器,它完美地工作在每台电脑或智能手机,即使是iPhone,但不是在iPad上。 它随时随地logging下ipad。 而且我的本地服务器和webhosting co服务器的头信息几乎是一样的。 另一个需要注意的是,ipad和所有其他的wifi浏览器不在lan域,他们不能通过名字来访问本地服务器,只能使用ip地址。 另一个说明是,如果你认为我应该发布我的conf和php.ini文件或它的一部分? 我可以做到这一点。 webhotel头:caching控制:无存储,无caching,必须重新validation,后检查= 0,预检查= 0连接:closures内容types:文本/ HTMLdate:2012年11月19日,星期一09: 15:06 GMT到期时间:星期四,1981年11月19日08:52:00 GMT Pragma:no-cache服务器:Apache Transfer-Encoding:Identity X-Powered-By:PHP / 5.3.17 本地服务器头:Cache-Control:no-store,no-cache,must-revalidate,post-check = 0,pre-check = 0连接:Keep-Alive Content-Length:450 Content-Type:text / html; charset = iso-8859-1 Date:Mon,19 Nov 2012 09:16:59 GMT过期:1981年11月19日星期四08:52:00 GMT Keep-Alive:timeout = 5,max = 76 Pragma:no-cache Server :Apache / 2.2.22(Win32)PHP / 5.2.17 X-Powered-By:PHP / […]
我们在我们的网站上有一些XHR,在Google开发者工具的networking时间线上报告为接收16035.5天。 实际上有一个回应,肯定不需要报告的时间;) 我回顾了HTTP头,对我来说一切都很好。 这个问题暂时没有发生,但是对于同一个XHR来说是一致的。 更奇怪的是:如果我直接执行相同的GET操作而不是使用AJAX,那么定时报告是正确的。 这可能是什么原因? 我怀疑有些错误的回应,但是我看不到任何不正常的事情。 Request Method:GET Status Code:200 OK Request Headers: Accept:*/* Accept-Encoding:gzip,deflate,sdch Accept-Language:de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4 Connection:keep-alive Content-Type:application/x-www-form-urlencoded; charset=UTF-8 Cookie: […snip…] Host: […snip…] Referer: […snip…] User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36 X-Requested-With:XMLHttpRequest Response Headers: Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection:close Content-Encoding:gzip Content-Type:application/json Date:Mon, 09 Dec 2013 06:22:30 GMT Expires:Thu, […]
我的nginx服务器充当另一台服务器的代理,有时返回404s。 我希望404响应可以被caching,就像200响应一样。 但是,我不能使用expires ,因为文档指出: expires仅适用于200,204,301,302和304响应。 请注意,根据HTTP规范,非200响应的caching是完全可能的 。 那么我怎样才能在404响应中设置到期date呢?
我尝试使用基于HTTP头字段的HAProxy粘贴表来限制并发连接的数量。 我可以find很多使用IP地址的例子,但是这在我的情况下不起作用。 我们的应用程序仅在HTTP头字段x-account上区分用户帐户,并期望来自多个IP的请求同时发生。 在这一点上,我不能提供任何错误消息或任何东西,因为我不能够了解configuration到目前为止。 因此,这是关于HAProxy使用/configuration的一个非常基本的问题。 从阅读HAProxy文档后我的理解: 我定义如下的表格: stick-table type string size 100m store conn_cur 这应该为我提供一个表来存储我的头字段。我没有添加到期,因为我实际上并不在乎,价值将是高度重复无论如何。 另外,ee不要期望比5K-10K更多的条目,即不同的帐户。 到目前为止,文件是非常清楚的,但从这里开始我的麻烦开始。 我想我需要一条线告诉HAProxy它应该把头域的值和连接关联起来,并报告它被打开并最终closures。 这可能是这样的吗? stick store-request hdr(x-account) account_table 而且,如果超过此用户的最大会话数,则必须有一行拒绝/请求请求。 像这样的东西我猜: http-request tarpit if hdr(x-account) account_table gt 10 至less这是我所期待的,但我可能完全错了。 正如我之前所说的,我无法find任何使用表格中的string的例子。 如果有帮助,我可以提供完整的HAProxyconfiguration,但是我认为这不是相关的,因为这只是前端定义的一部分,对吗? 任何帮助表示赞赏。 干杯,拉尔夫
我正在使用NGINX,并在浏览器的控制台中收到该错误。 我很沮丧 根据我的老板,我需要build立我所做的事情,但我仍然得到同样的错误。 这是完整的错误 OPTIONS https://backend.just4bettors.mobi/auth/login XMLHttpRequest cannot load https://backend.just4bettors.mobi/auth/login. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://www.just4bettors.mobi' is therefore not allowed access. The response had HTTP status code 400. 这是configuration map $http_origin $cors_header { default ""; "~^https?://[^/]+\.just4bettors\.mobi(:[0-9]+)?$" "$http_origin"; } server { large_client_header_buffers 1 1K; listen 80; listen 443 ssl; server_name www.just4bettors.mobi […]
是否有一个使用Strict-Transport-Security头到WebLogic的实现? 我认为它将使用<security-constraint>下的web.xml中的东西 我知道如何为基于Apache的服务器执行此操作,但我不确定如何将其添加到WebLogic中。 请注意,在这个实例中,我无法在WebLogic之前使用Apache。
我只是第一次设置tinyproxy,我试图让它模仿一个正常的联系尽可能接近。 我已经禁用Via头,但我不知道如何更改Proxy-Connection:keep-alive头。 我想它只是Connection:keep-alive 。 据我所知, Proxy-Connection不仅可以透露代理服务器的使用情况,而且可以像这样的网站不必要的。 说实话,我不确定发送这个头的是哪一方,不pipe是我的本地机器还是远程tinyproxy。 如何validation这个和/或在configuration中改变这个? 编辑: 在Chrome浏览器中使用代理时,我看到了标题。 在chrome中检查请求标题显示:
我有一个运行Apache + PHP-FPM + FastCGI的Ubuntu 14.04服务器,为用户主页提供服务。 为了安全起见,我在Apache的configuration中启用了: Header set X-Content-Type-Options: "nosniff" Header set X-Frame-Options: "sameorigin" Header set X-XSS-Protection: "1; mode=block" AllowOverride FileInfo已设置,因此用户可以在.htaccess文件中使用Header指令进行更多控制(如果需要的话)。 然而,似乎Apache没有兑现当CGI使用PHP( mod_headers没有发送标题时,文件是PHP ),即使Header always , .htaccess Header命令被忽略的PHP文件。 我的下一个想法是让用户修改他们的PHP代码来使用PHP header函数 ,以便他们可以将其设置为X,我可以使用setifempty应用这只有当用户没有。 经过一番尝试,我发现这些条目工作: Header set X-Frame-Options: "sameorigin" env=!SCRIPT_NAME Header always setifempty X-Frame-Options: "sameorigin" env=SCRIPT_NAME 没有envtesting,我发现第一个命令(即使是setifempty或merge )会添加一个头文件,以便在头文件中看到两个X-Frame-Options 。 那么,这是正确的方式呢? 如果env=SCRIPT_NAMEtesting足够了,还是有更好的testing来确定请求是否将由PHP-FPM / FastCGI或Apache本身处理?