加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

nginx条件Accept头

发布时间:2020-12-13 21:13:26 所属栏目:Nginx 来源:网络整理
导读:某些移动设备向我们的服务器发送以下不正确的请求: GET / HTTP/1.0Accept:User-Agent : xxx 空的Accept标头导致我们的Ruby on Rails服务器返回500错误. 在Apache中,以下指令允许我们在将标头发送到应用程序RoR服务器之前重写标头,以便处理损坏的设备: Requ

某些移动设备向我们的服务器发送以下不正确的请求:

GET / HTTP/1.0
Accept:
User-Agent : xxx

空的Accept标头导致我们的Ruby on Rails服务器返回500错误.

在Apache中,以下指令允许我们在将标头发送到应用程序RoR服务器之前重写标头,以便处理损坏的设备:

    RequestHeader edit Accept ^$"*/*" early

我们目前正在建立nginx,但实现相同的解决方案证明是困难的.我们可以设置:

  proxy_set_header Accept */*;

但是,这似乎必须无条件地完成.无论何时尝试:

if ($http_accept !~ ".") {
  proxy_set_header Accept */*;
}

它抱怨消息:

"proxy_set_header" directive is not allowed here

那么,使用nginx,在将请求发送到应用服务器之前,如何将HTTP Accept标头设置为* / *?

试试这个

set $acceptHeader $http_accept;
if ($acceptHeader !~ ".") {
  set $acceptHeader '/';
}
proxy_set_header Accept $acceptHeader;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读