标题说明了这一点:从哪个版本开始,LimitRequestFieldSize不再被硬编码为最大值。 8k的? 看来2.2.15仍然受到影响。
我正在挖掘HTTP严格传输安全规范https://tools.ietf.org/html/rfc6797 它指定标题的语法如下: Strict-Transport-Security: max-age=15768000 ; includeSubDomains RFC指定诸如“max-age”之类的指令名称是不区分大小写的,但明确指出头名称“Strict-Transport-Security”是否区分大小写。 是否有更多的一般规则来pipe理呢? 或者,也许我错过了RFC的东西?
我需要添加两个过期的标题,并允许在Nginx Cors 如果我添加 location ~* \.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf|x-html|css|xml|js|woff|woff2|ttf|svg|eot)$ { expires 30d;} 那么过期的头文件工作正常。 如果我添加 location ~* \.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf|html|txt|htm)$ { if ($request_method = 'OPTIONS') { add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; # # Custom headers and headers various browsers *should* be OK with but aren't # add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range'; # # Tell client that this pre-flight info is […]
我一直在Nginx上运行一个奇怪的行为,请求在主机名中有一个尾随点,即domain.com. 而不是单独的domain.com 。 我build立了一个简单的服务器configuration来testing,如下所示: server { listen 80; server_name example.com.; root /var/www/example; index server1.txt; } server { listen 80; server_name example.com; root /var/www/example; index server2.txt; } 最初,我预料到对example.com.请求example.com. 将被发送到第一个块,对example.com请求将被发送到第二个块。 请求的Host头不匹配任何块,例如www.example.com ,我希望再次发送到第一个块,因为它是默认的隐式。 但是,经过testing,我发现对example.com.请求example.com. 被发送到第二块。 在用各种替代名称,正则expression式等搞乱了一阵子之后,我决定把$hostvariables写到一个自定义头文件中,这样我就可以查看它了。 事实certificate,Nginx实际上是从$host值中删除了尾部的点。 据我可以告诉在example.com.收到的请求example.com. 被认为与在example.com收到的相同,至less就服务器select而言。 这似乎是不可取的,因为尾随的点会导致各种错误。 。 为了使事情变得更加混乱,在一些Googlesearch之后,我发现了在0.1.29更新日志中的Nginx更新日志页面: 修正:nginx没有考虑到“主机”标题行中的尾部点。 然后,几年后,1.5.9更新日志说: 错误修复:parsing器不理解带有尾点的域名。 感谢伊春张。 虽然我不确定“parsing器”是否指的是Nginx组件在接收请求时正在播放。 (从阅读文档,这听起来也许parsing器不会做任何事情,除非一个请求被缠绕到其他主机,其名称必须解决。) 这里发生了什么? Nginx是否应该在评估服务器名称时丢弃最后的点? 如果这是预期的行为,那么不应该从server_name参数中删除尾部点,以产生“冲突的服务器名称”错误? 我知道一个没有小点的域名在技术上是一个“相对的”域名,而不是“绝对的”,尽pipe现在大多数人似乎都把它们看作是相对的. 所以它没有实际的区别。 但是如果需要的话,Nginx是否应该至less能够做出这样的区分呢? 最后,是否有更好的方法来捕捉和redirect对example.com.请求example.com. 比添加if ($http_host = […]
假设我在2017年6月22日星期四10:30:30 GMT发送了HTTP请求。 是否正确,如果我得到Thu, 22 Jun 2017 10:30:25 GMT在回应date标题? 这可能是原因?
我正在pipe理一个设置,在nginx反向代理之后有两个ngnix应用程序服务器。 我想设置一些标题,如X-XSS-Protection或Strict-Transport-Security 。 目前,它在应用程序服务器和负载平衡器上都被设置,这导致标题变得复杂。 Error parsing header X-XSS-Protection: 1; mode=block, 1; mode=block: expected semicolon at character position 14. The default protections will be applied. 我可以看到重复的标题值被附加到相同的标题关键字。 我的问题是:设置标题的一般惯例/最佳做法是什么? 我应该在后端设置标题并将它们从负载平衡器中移除,或者负载平衡器应该是一个设置标题?
我有一个网站,我打算保持约2天的维护模式,而不失去SEO排名。 根据Google的博客文章 ,我们可以通过使用Retry-After标题503 Service Temporarily Unavailable用503 Service Temporarily Unavailable来做到这一点。 我在根目录的.htaccess文件中使用了以下代码(对于503)。 我的问题:如何使用Retry-After标题。 谁能帮我这个? ErrorDocument 503 "Our website is temporarily closed for maintenance." RewriteEngine On RewriteRule .* – [R=503,L]
我收到一些请求到我的网站与Host头设置不正确(最常见的IP地址,而不是域名)。 目前我正在返回400 Bad Request 。 我想回到301或302 ,但不知道这是一个好主意。 当客户端错误地设置Host头时,最佳做法是什么?
我们有一个Apache 2.2与mod_cache和mod_deflate等模块。 问题是如果我们在Apache文档中添加Vary头文件… # Make sure proxies don't deliver the wrong content Header append Vary User-Agent env=!dont-vary …我们最终得到了caching中每个用户代理变体的服务资源的副本。 这浪费了磁盘空间并降低了命中率。 那么,这个问题的首选解决scheme是什么? 沟Vary头和只压缩“安全”的资源,如纯HTML?
我已经将我们公司的Intranet网站部署到IIS 7服务器中,添加了以下绑定信息。 IP地址:全部未分配端口:3333域名:subdomain_name.domain_name.com 虽然该网站部署在端口3333,我希望能够访问网站没有端口。 我也添加了在DNS的条目。 我可以ping完全合格的域名(subdomain.domain.com),但是当我在浏览器中添加该url时,我得到了404。 当网站部署在80端口时,它工作得很好。 但是,当我的网站托pipe在除默认端口(80)之外的其他任何东西上时,它不起作用。 有没有办法做到这一点?