Articles of http headers

ColdFusion无法包含在IIS 8.5中设置的自定义HTTP响应标头

我有一个运行IIS 8.5和ColdFusion 11的Windows 2012 R2服务器。在特定目录(“mydirectory”)下,我添加了一个HTTP响应头(名称:X-ResponseHeader,值:Test)。 生成的web.config部分如下所示: <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <httpProtocol> <customHeaders> <add name="X-ResponseHeader" value="Test" /> </customHeaders> </httpProtocol> </system.webServer> </configuration> 我创build了几个testing文件: test.cfm 的test.html test.png 我用curl -I来请求文件并检查响应头文件: test.cfm不包含响应头 test.html包含X-ResponseHeader: Test test.png包含X-ResponseHeader: Test 此外,请求一个不存在的.cfm文件不包括标题,但请求一个不存在的.png文件。 因此,我怀疑ColdFusion处理程序是忽略或删除标题,但我不知道为什么。 另外值得注意的是:如果我在IIS中的站点级别而不是在文件夹级别设置自定义标头,则所有情况下都会包含自定义标头。

很长时间的使用

我们在服务器日志中有很长的useragent请求: HEADER: user-agent=Mozilla/5.0 (Windows NT 6.1; WOW64; rv:32.0; WUID=4bddaa48430e60af6132822cd6fab6c4; WTB=2873; WUID=4bddaa48430e60af6132822cd6fab6c4; WTB=2873; WUID=4bddaa48430e60af6132822cd6fab6c4; WTB=2873; WUID=4bddaa48430e60af6132822cd6fab6c4; WTB=2873; WUID=4bddaa48430e60af6132822cd6fab6c4; WTB=2873; WUID=4bddaa48430e60af6132822cd6fab6c4; WTB=2873; WUID=4bddaa48430e60af6132822cd6fab6c4; WTB=2873; WUID=4bddaa48430e60af6132822cd6fab6c4; WTB=2873; WUID=4bddaa48430e60af6132822cd6fab6c4; WTB=2873; WUID=4bddaa48430e60af6132822cd6fab6c4; WTB=2873; WUID=4bddaa48430e60af6132822cd6fab6c4; WTB=2873; WUID=4bddaa48430e60af6132822cd6fab6c4; WTB=2873; WUID=4bddaa48430e60af6132822cd6fab6c4; WTB=2873; WUID=4bddaa48430e60af6132822cd6fab6c4; WTB=2873; WUID=4bddaa48430e60af6132822cd6fab6c4; WTB=2873) Gecko/20100101 Firefox/32.0 我们在数据库表中logginguseragents,但是这个useragent超出了字段的string长度。 任何人都可以解释为什么这个用户有这么长的useragent? WUID是什么意思? 用户告诉他使用Firefox 41.0.1。 在Windows 7上

nginx忽略根目录头(位置/)

我用http2支持自编的nginx 1.9.14: nginx version: nginx/1.9.14 built by gcc 4.9.2 (Debian 4.9.2-10) built with OpenSSL 1.0.1k 8 Jan 2015 TLS SNI support enabled 所以我有一个location = /块在我的configuration,这应该添加一个头只有当用户访问根站点( https://myserver.example.com/ )。 但是,当我在Firefox中访问我的服务器时,不会添加/ location块(这是WhereIAm )中的标头: Content-Encoding: gzip Content-Type: text/html Date: Thu, 21 Apr 2016 07:12:11 GMT Etag: W/"570bf892-363" Last-Modified: Mon, 11 Apr 2016 19:18:42 GMT Server: nginx Strict-Transport-Security: max-age=15768000; includeSubDomains; […]

清漆不能与最后修改

我是新的清漆,并扭转一般的代理。 我在一个像博客那样工作的应用程序中testingVarnish,在这个应用程序中,我有一个“updated_at”的页面,一旦页面更新,这个页面就会改变。 因此,我决定我的caching策略应该基于最后修改的标题。 原因是用户希望在后台修改页面后立即看到更改。 除此之外,我明白我可以添加一个s-maxage与必须重新validationcaching控制,所以如果最后修改没有改变光油甚至不会尝试提出新的要求。 我也为浏览器添加了一个expire,所以会有一个客户端caching。 因此,浏览器甚至不会要求清漆再次向Apache发出请求。 但是,我注意到,caching控制s-maxage优先于最后修改,即使使用must-revalidate。 而且,即使我不添加caching控制,“最后修改”也不起作用。 清漆使用默认的ttl,没有任何反应。 我究竟做错了什么? 我正在使用Symfony,这是头文件: $response = new Response(); $response->setPublic(); // expiration model for the browser cache (EXPIRE) // the browser will only make a new request to Varnish again after ten minutes (600 seconds) $date = new \DateTime(); $date->modify('+600 seconds'); $response->setExpires($date); // expiration model for Varnish (CACHE-CONTROL) […]

Apache 2.4:未在<Location>中设置标题不起作用

我们正在运行apache 2.4为了服务我们typo3生成的网站。 一般来说,我们希望所有请求都具有X-Frame-Options SAMEORIGIN标题。 有一个例外。 对于特定的URL,这个Header应该是未设置的,因为它必须在另一个域的iFrame中使用。 所以我加了这样的东西: Header always set X-Frame-Options SAMEORIGIN <Location /anotherURL> Header always unset X-Frame-Options </Location>` 当我尝试请求给定的URL https://www.example.com/我在响应中看到X-Frame-Options -Header,但在https://www.example.com/anotherURL此标题仍然存在。 我已经检查了Location指令实际上是通过向Location指令添加一个Require all denied来处理的。 在这种情况下,如预期的那样,URL /anotherURL的访问被拒绝。 如果我将位置从/anotherURL为/typo3则取消设置按预期工作。 我在这两个URL之间唯一的差别是/typo3存在于htdocs下的目录结构中/anotherURL是由Typo3处理的URL。 我现在的问题是,为什么Apache会忽略我的Header unset命令? 从Apaches的angular度来看,一旦Typo3产生了Location-Directive应该匹配的响应头(显然是这样做的)和处理内部命令,它应该不知道Typo3正在做什么。 我浏览了一些关于HTTP标头未设置问题的其他问题,但没有任何build议解决了我的具体问题。

在htaccess中为jsonp设置内容types标题

我在安装在我的网站上的第三方JavaScript游戏遇到问题,在那里返回的内容types响应头是application/json而不是application/javascript ,被请求的资源是jsonp。 这似乎不是在Safari或Firefox的问题,但它在Chrome中抛出一个错误。 我在控制台中得到的错误是Refused to execute script from 'http://example.come/js/game/data/game-data.json' because its MIME type ('application/json') is not executable, and strict MIME type checking is enabled. 基于一个推荐的configuration ,我已经尝试将以下内容添加到游戏根目录中的.htaccess文件,但它似乎没有任何影响: <IfModule mod_mime.c> AddType application/javascript jsonp </IfModule> 我已经确认在我的httd.conf文件中启用了LoadModule mime_module modules/mod_mime.so 。 有其他设置我需要尝试?

是否可以使用Apache的Header指令设置状态行标题?

我的search已经变成了空白…我试图改变这个响应的404禁止状态404 Not Found状态: Header set Status-Line "HTTP/1.1 404" "expr=%{REQUEST_STATUS} == 403" 但是,这是没有效果的。 我怀疑这可能是因为实际上Apache没有使用Status-Line头,虽然它是HTTP规范的一部分。 那么这甚至有可能吗? 我试图用Header指令来完成这个工作,而不是重写,因为它似乎是更好的方法。

Apache返回错误的位置标题

这个问题发生在你: 根据包含端口的头“Host”发出请求,例如“Host:www.example.com:80”,根据https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html #sec14.23 。 你可以用curl来实现curl -v -H "Host: www.example.com:80" -X GET -i http://www.example.com 服务器发出redirect到https的请求,在我的情况下使用下面的RewriteRule RewriteCond%{HTTPS}closures RewriteRule(。*)https://%{HTTP_HOST}%{REQUEST_URI} [R = 301,L] 我注意到响应的“Location”头还包含了端口,和请求的“Host”头中指定的一样。 所以服务器会以“Location: https : //www.example.com : 80 ”来回应,这是错误的。 这发生在“Apache / 2.4.7(Ubuntu)”,但我注意到这个问题也与清漆caching服务器。 为什么这样做? 有没有办法纠正这一点?

无法获取远程用户值

使用Apache Ldap身份validation来使用Tomcat。 我可以看到通过TCP DUMP,我的HTTP头发送remote_user:.. RICHARD到tomcat。 我已经尝试了mod_AJP和mod_HTTP 但不能通过我的Restful java spring webservices打印remote_user。 是的,在server.xml中Tomcatauthentication =“false”。 为什么我不能打印REMOTE_USER请帮助。

带有多个代理的X-Forwarded-Proto

我无法使用Apache将HTTPredirect到HTTPS,因为我们在客户端和服务器之间有多个代理。 HTTPS在面向负载平衡器的互联网上被终止,所有其他设备(包括服务请求的Apache服务器)都使用HTTP。 我可以看到,所有Apache看起来都是HTTP链中最后一个代理的X-Forwarded-Proto。 我该如何强制它查看真正的X-Forwarded-Proto头(远程客户端)?