Articles of http headers

内容types响应头是否必需?

我正在向amazon s3上传各种types的内容(gif,jpeg,png,css,pdf)。 然后,我把Nginx放在S3前面,这样我就可以重写Url,并让它们被azure色的cdn所拉动。 我遇到的问题有时当file upload(各种方式,但主要是JavaScript的http上传),我们经常忽略放置的内容types。 我想弄清楚是否值得花时间让nginx通过一个严重的位置纠正这些头,如果声明或者我应该只删除所有内容types头一起。 例如:当我在Chrome浏览器检查器中查看此url时,我看不到正在返回的内容types标题。 http://img.zgserver.com/nginx/nginx-logo.png 。 我们终于到了浏览器可以自己确定内容types的地步吗? 添加内容types标题是否有任何特定的性能优势? 什么是一个快速的nginx规则来设置基于文件扩展名的内容types? 例如,如果URL是mydomain.com/s3reverseproxy/uploads/test.css?querystring=random正确设置其内容types? 目前我正在使用这个,但担心很多if语句可能是一个坏主意: location ~* ^/s3/(.*) { # Headers based on file extensions more_clear_headers 'Content-Type'; if ($request_uri ~* .*svg.*) { more_set_headers "Content-Type:image/svg+xml"; more_set_headers "X-Content-Type:OverRidden"; } set $s3_bucket 'mybucket.s3.amazonaws.com'; set $url_full '$1'; # HEADERS more_set_headers "Server: PROXYS3"; add_header Cache-Control "no-transform,public,max-age=36720000"; etag on; expires 425d; ….. […]

Nginx正在忽略我的头文件

我正在使用我的本地实例上的apache和生产上的nginx。 我有一个JavaScript应用程序,设置在API调用头authentication用户。 它在本地使用我的apache服务器正常工作。 然而,由于某些原因,我的自定义头被Nginx忽略。 我试图在我的网站configuration中添加这一行: add_header 'Access-Control-Allow-Origin' '*'; 但它仍然忽略标题。 有谁知道我应该看看绕过这个? 干杯,马克西姆

nginx头部variables在头部名称中转义特殊字符

我想在nginx.conf中读一个头部,里面有' – ' 的x FOO杆 使用$ http_name $ http_x-foo-barvariables的值变成“-foo-bar” 看起来像试图find一个名为x的头,然后将-foo-bar附加到该值 有什么办法可以逃避这些“ – ” 我试过/但$ http_x / -foo / -bar给出/ -foo / -bar的值

Nginx – 如何在使用try_files时为index.html添加头文件

我有以下configuration(对于Angular应用程序): location / { try_files $uri /index.html; add_header "Cache-Control" "no-cache" ; } 现在我想只为index.html添加该标题,但不适用于任何其他文件。 怎么做?

将非标准头从nginx传递给uwsgi

例如: X_USR_12341_CONNECTION: Stale X_USR_12341_SEED: uW6HncQwe=== X_USR_12341_STATE: Working 数量正在从客户端变成客户端。 我怎么能通过这些从nginx uwsgi后端?

在向上游服务器传递请求之前如何在Nginx中删除客户端头文件?

上游服务器是wowza,如果我没有在应用程序级别启用它们,它不接受自定义标头。 Nginx正在作为一个代理服务器,从浏览器我想发送几个自定义头应该被接收和Nginx的代理logging,但在转发请求到上游服务器之前,这些头应该从请求中删除。 所以上游服务器永远不会知道那里有任何自定义标题。 我尝试proxy_hide_header以及proxy_set_header "<header>" "" ,但似乎它们适用于响应头,而不是请求头。 即使我接受在wowza上启用标题,那么我再也找不到在服务器级别为所有应用程序启用标题的方法。 Currenlty我不得不为每个新创build的应用程序添加标题,这对我来说是不可行的。 任何帮助,将不胜感激。

根据URL区分nginx行为

我有一个Django应用程序,我使用nginx来提供静态内容。 不幸的是,所有注册的MIMEtypes都会显示在客户端浏览器中,而我希望能够下载相同的内容以及常见的行为。 /media/images/image01.jpg说,我在/media/images/image01.jpg下面有JPEG文件,而且我希望nginx能以通常的方式使用标准的image/jpeg头文件来处理这个文件,但是另外我想要nginx提供的content-disposition: attachment 相同的图像content-disposition: attachment作为/downloads/images/image01.jpg访问时content-disposition: attachment (有效地强制内容下载)。 任何人都可以提出解决scheme?

Nginx的Http Referer主机

我使用Nginx作为Web服务器。 有什么办法提取'http referer主机'并把它放在访问日志。 例如:如果http_referer是“ http://example.com/?somedata ”:如何只将主机部分(example.com)login到accesslog行? 我寻找解决scheme,但我没有发现任何有用的东西。

节点/ NGINX 400请求标头或Cookie太大

问题 我试图发送请求到在Ubuntu(14.04)linux上运行的远程nginx(1.10.0)/节点(4.2.6)服务器。 它在大多数情况下都能正常工作,但是如果头部大小很大,请求将失败,并出现以下错误。 < html > < head > < title > 400 Request Header Or Cookie Too Large < /title></head > < body bgcolor = "white" > < center > < h1 > 400 Bad Request < /h1></center > < center > Request Header Or Cookie Too Large < /center></body > < /html> 我的testing头大小为8,260字节,由逗号分隔的ID组成,如下所示… […]

根据nginx中的dynamicContent-Type过期标题

我有一个PHP网站,其中一些内容是用户生成的。 例如,用户可以上传得到resize和可以请求的照片。 我想在我的nginxconfiguration中根据MIMEtypes( Content-Type响应头)指定一个Expires头(用于caching)。 这是我目前的configuration(我的主机自动添加http{}和server{} ): charset utf-8; types { text/css css; text/javascript js; } gzip on; gzip_types text/html text/css text/javascript application/json image/svg+xml; location / { if (!-e $request_filename) { rewrite . /index.php last; break; } set $expire 0; if ($upstream_http_content_type = image/jpeg) { set $expire 1; } if ($upstream_http_content_type = image/png) { set $expire […]