Articles of http headers

我可以根据requestHeaders更改Apacheconfiguration吗?

我需要根据RequestContent头configurationfilter设置(在Apache2中)。 可能吗? 具体更改基于一个头的值。 (我使用mod_line_edit来过滤反向代理中的html) 编辑:我正在做反向代理,我想过滤掉一些标签(我可以做到这一点与mod_line_edit)我只想应用这个规则,当有特定的RequestHeader目前。

gzip需要html或php头文件吗?

我使用nginx的gzip模块来压缩文件。 当gzip被启用时,nginx会自动发送包含HTTP头的gzip的内容结尾,对不对? 不添加任何PHP头header()或HTML meta http-equiv ,这完美的工作。 但是,我已经看到在线教程,无论是通过PHP或HTML元,以帮助浏览器处理gzip的数据添加gzip头。 真的需要吗? 由于我不确定是否需要进行某些传导(我没有进行testing),所以我问了这个问题以进一步澄清这个问题。

NGINX MIME TYPE

我有我的nginx conf文件,以便当有移动设备访问我的网站时,URL被重写为m.mysite.com我做了它,通过添加以下 set $mobile_rewrite do_not_perform; if ($http_user_agent ~* "android.+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino") { set $mobile_rewrite perform; } if ($http_user_agent ~* "^(1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|e\-|e\/|\-[aw])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-)") { set $mobile_rewrite perform; } if ($mobile_rewrite = perform) { rewrite ^ http://m.mywebsite.com redirect; break; } 我从http://detectmobilebrowsers.com/它工作。但是我的图像/ js […]

NGINX + GZIP – 改变Vary标题以包含User-Agent

目前,当nginx设置为按客户端的要求gzip出站内容时,“gzip_vary on”设置将设置以下标题: Vary: Accept-Encoding 我们想修改这个发送出去: Vary: Accept-Encoding, User-Agent 这可能吗? 谢谢。

IIS 6标题太大,如何调整这个iis设置

IIS 6似乎受到限制(至less默认)为16k的http头。 我有一个第三方工具,正在与Web服务器(Ajax)交谈,并发送一个比这更大的HTTP头。 由于我无法控制第三方工具,我希望find一个IIS 6的设置,可以让我把最大的头大小增加到32768或其他。

Apache为GET /file.mp3返回HTTP 206

我正在向apache上的启用SSL的站点发出请求(所以wireshark没有给我任何有用的东西)。 在我的Apache SSL访问日志中,我看到以下条目: 1.2.3.4 – my.username [15/Nov/2012:16:52:01 +0000] "GET /uploads/file.mp3 HTTP/1.1" 206 534400 "https://site.com/uploads/layla.mp3" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.19 (KHTML, like Gecko) Ubuntu/12.04 Chromium/18.0.1025.168 Chrome/18.0.1025.168 Safari/535.19" 为什么发生这种情况? 我不熟悉HTTP 206响应代码,但在Internet上search我可以看到它是一个部分内容的GET请求。 我理解正确,我的浏览器正在进行部分GET请求而不是完整的文件。 那是对的吗? 如果是这样,这是一个浏览器问题,或者是Web服务器指示我的浏览器这样做? 我也在Firefox中testing过,并且在两个浏览器中,我都没有发送这个文件。 如果我将文件重命名为file.jpg,我可以通过我的浏览器下载,并将其重命名为.mp3,然后播放。 我如何解决这个问题?

nginx只有一个主机名的ssl代理

我想让nginx作为一个ssl代理,但对于主机: “ssl.example.com” 同时我想让nginx为主机“ssl-check.example.com”服务“nginx is ok”网站(这只是个例子,请不要在这里提供任何监控工具) 为其他主机指向我的IP我想服务404或任何其他。 – 我不在乎证书不匹配 – 所以SNI不是我想要的。 – 我不想使用描述为陷阱的解决scheme,并使用类似的东西 if ($host != $server_name) { root /var/www/errors/404 所有这些在单个IP上。 我有工作的SSL server { 与server_name ssl.example.com – 工作,我想要的。 另一个ssl server { 用server_name ssl_check.example.com – 显示“nginx是好的” 和最后一个服务器(也是SSL)没有server_name(或与“_”作为名称)应该服务404,但它不工作… 解决了 我的configuration使用该解决scheme看起来(和工程),如: 有“listen 443 ssl”的服务器 服务代理 有“listen 443 ssl”的服务器 服务“nginx是好的” 服务器“listen 443 ssl default_server;” 和“位置/返回404” 如果这个configuration可以以任何方式危险 – 不要犹豫,让我感到羞耻。 Thans

发送两个Content-Security-Policy头

我目前有一个nginx服务器发送Content-Security-Policy头,但是我已经读了,显然IE只支持“X-Content-Security-Policy”。 将Content-Security-Policy和X-Content-Security-Policy头与请求一起发送,还是会产生冲突? 而不是一个好主意,使用条件语句发送正确的浏览器正确的头 – 基于用户代理?

如果起源不在mod_proxy中发送一个内容types,我可以设置内容types吗?

我有一个错误的起源,当它有一个错误页面,它不是设置一个内容types的头。 这是我们坐在Edgecast后面的一个问题,它们默认为导致浏览器尝试下载文件的application / octet-stream。 有什么办法可以让我的Apache设置一个内容types响应头,如果没有一个?

nginx – 根据proxy_pass响应更改error_page

是否可以根据上游代理的响应更改回退error_page? upstream serverA { server servera.com; } upstream serverB { server serverb.com; } location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for proxy_set_header Host $host; proxy_pass http://serverA; proxy_intercept_errors on; # if serverA returns 'hard' 404 # IE returns X-HARD-404=true header return 404; # else I would like to fallback to server-b error_page 403 404 500 […]