Articles of http headers

清漆:使用http标头使URLcaching无效

Nginx有一个非常漂亮的命令来使一个特定的caching失效 proxy_cache_bypass $http_cachepurge; curl -I myapp.example.com/api/ping -H "cachepurge: true" 清漆有什么等价物吗?

为nginx中的每个元素设置caching/过期时间?

在configurationnetworking服务器(nginx)时,设置和过期时间并caching客户端浏览器请求的每个目录中的每个元素的情况并不常见? 我刚刚在nginx网站和servervault上find了一些到期时间的例子: location ~* \.(?:ico|css|js|gif|jpe?g|png)$ { expires 30d; add_header Pragma public; add_header Cache-Control "public"; } location ~* \.(?:css|gif|jpe?g|png)$ { expires max; } 如果我想通过设定每个元素的到期时间,我将如何写location线? location ~* \.(?:*)$ { expires 2d; add_header Pragma public; add_header Cache-Control "public" }

Nginx的“auth_basic”string编码

nginxconfiguration文件中正确的编码/字符集是什么,以显示HTTPauthentication信息中的突出字符? 例如,这个conf文件: server { … location / { auth_basic "Zone sécurisée"; auth_basic_user_file .htpasswd; } } 在Firefox的提示窗口显示: “Zonesécurisée” 没有真正的解决scheme或在网上find解释。 我试着用confreplaceconf文件中的é ,用& ,通过&#233 ,通过=C3=A9或添加charset utf-8指令或=?UTF-8? 在string的开头,但没有任何工作! 官方的nginx文档,谈论一个“string”,没有更多解释强调字符的编码。 注意:我对Apache的.htaccess文件没有问题

在Apache中将stream量转发到HTTP标头中的URL

我试图从名为X-TARGET-URL,其中包含目标URL的HTTP标头获取值。 然后转发该stream量到该url,但它不起作用。 RewriteEngine On RewriteCond "%{HTTP:X-TARGET-URL}" RewriteRule ^(.*)$ %{HTTP:X-TARGET-URL} [P] ProxyPassReverse "/" %{HTTP:X-TARGET-URL} 任何帮助,将不胜感激。

ELB / Tomcat拒绝多个内容长度头部请求

ELB后面有两台AWS服务器。 我们公司最近进行了钢笔testing,其中一项是: 讨论:当服务器不拒绝多个内容长度头请求时,Apache Tomcat版本4,5和6中存在此漏洞。 结果:当防火墙,caching,代理和Tomcat处理这些请求时,可能导致Webcaching中毒,XSS攻击和信息泄露。 build议:有关最新版本的详细信息,请参阅此Apache Tomcat Web站点。 现在我们使用的是tomcat 8.0.43。 根据文档,这种可靠性是固定的。 我的问题是: 1. Is this true about Tomcat? 2. Does this vulnerability exist in Amazons ELB? 3. If so, does it matter if Tomcat is fixed. 4. In not, how does one fix this? 谢谢

Nginx – 扩展variables内的variables(string)

一个“有趣”的问题,而不是在生产中无法克服的东西,但是我一直在试图find一种方法来扩展其他variables的variables。 例如:在下面的代码块中,我在auth_request的后面设置了一个上游variables。 我的auth_request uwsgi应用程序将尝试多个身份validation方法,根据API的可用性,如果没有当前会话,将redirect到多个login应用程序之一。 特定的login应用程序URL在auth尝试后作为forward_to头被返回,然后nginx将302那个URL。 我想在这个头文件中提供nginxvariables,比如$scheme://$host$uri并且让它们用redirect来扩展,但是在这个例子中,redirect是指向文本stringhttps://example.com/login?referrer=$scheme://$host$uri 而不是扩展到https://example.com/login?referrer=https://example.com/page 。 那么,你有什么想法或想法如何实现呢? # Authenticate requests. auth_request /auth/; auth_request_set $forward_to $upstream_http_forward_to; # forward_to set to https://example.com/login?referrer=$scheme://$host$uri string error_page 401 =302 $forward_to; # Hope variables expand # Authentication handler. location /auth/ { uwsgi_pass unix:/tmp/auth.sock; include uwsgi_params; uwsgi_param SCRIPT_NAME /auth; } 干杯!

通过HTTP_REFER和COOKIE进行网站访问控制

我在自己的域名上创build了一个networking表单,在我的公司之外。 该表格是为公司的员工制作的。 当员工想要到表格时,他必须login公司网站并点击链接。 以这种方式,员工不需要表格的特殊login,但他可以使用标准的公司login。 在webform服务器的.htaccess中,我检查HTTP_REFER。 当引用是正确的访问被授予,并设置cookie。 当员工再次访问表单时,他可以直接进入,因为他有一个cookie。 <If "%{HTTP_REFERER} == 'https://sites.google.com/a/company/form'"> Header append Set-Cookie "verified_user=yes;path=/;Secure;HttpOnly;Expires=Wed, Jan 01 2020 2:02:02 GMT" </If> <Elseif "%{HTTP_COOKIE} != 'verified_user=yes'"> Redirect https://sites.google.com/a/company/form </Elseif> 这有多安全?

如何要求nginx刷新Date标头?

我是代理传递使用Nginxcaching的服务,我想刷新每个请求,甚至caching的date头。 有没有办法做到这一点? 我已经看到了add_header指令,但我不知道如何问NginX它将其设置为当前date。

如何使用IIS8将HTTP请求标题设置为当前date和时间

我目前使用Microsoft IIS8服务器作为URL重写的反向代理。 目前有这个问题,我需要在IIS上设置一个HTTP请求标题。 我已经走了,创造了一个空白的规则,并设置条件。 我如何让IIS在请求头中以特定格式设置当前date和时间? 没有ASP.NET网站,甚至可能吗? 在阅读微软的参考资料时,我没有发现任何这样的事情。 规则的当前状态显示date时间应该是的模式,如果标题不匹配,标题应该被覆盖: <rule name="set clientDate"> <match url="(.*)" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> <add input="{HTTP_CLIENTDATE}" pattern="[0-9]{4}\-[0-9]{2}\-[0-9]{2}\ [0-9]{2}\:[0-9]{2}\:[0-9]{2}" negate="true" /> </conditions> <action type="None" /> </rule> 提前致谢

从文件中添加HTTP内容types标题无法正常工作

这是我在这里的第一篇文章,我会尽我所能做到尽可能清晰和短小。 所以我有一个运行在Apache 2.4上的服务器。 客户端可以上传文件,这些文件只能压缩成.gz格式。 为每个文件也创build一个包含该文件的mimetype的文本文件。 当客户端下载文件时,我希望服务器从这个文本文件中读取mimetype,并分别设置HTTP Content-Type Header。 我到现在为止:我做了一个Python脚本,它获得正确的MIMEtypes,并写入标准输出: #!/usr/bin/python import sys, os while True: sha256hash = sys.stdin.readline().strip().lstrip('/') directory = '/var/www/path/to/mimetypes' mimetype = open(directory + sha256hash,'rb').read() sys.stdout.write(mimetype + '\n') sys.stdout.flush() 并将这些指令添加到相关的Apacheconfiguration文件 RewriteEngine On RewriteMap mimetype prg:/home/user/scripts/mimetype.py RewriteRule ^(.*)$ – [ENV=CONTENTTYPE:${mimetype:%{REQUEST_FILENAME}}] Header append Content-Type "%{CONTENTTYPE}e" env=CONTENTTYPE 所以脚本被调用。 问题 :它只适用于service apache2 reload 。 但是,当上传新文件(甚至上传失败并且没有添加新文件时),系统就会崩溃。 这意味着下列内容的内容types标题是空的(即使是之前的文件也是如此)。 示例响应标题: HTTP/1.1 […]