【问题标题】:How to set user agent in request header and then pass it to wurfl如何在请求标头中设置用户代理,然后将其传递给 wurfl
【发布时间】:2016-08-23 07:19:35
【问题描述】:

我正在尝试为 Nginx 使用 Wurfl 插件。我正在使用 Openresty 而不是 Vanilla Nginx。我没有在 User-Agent 标头中设置正确的 User-Agent。因此,我在处理请求时尝试自己设置 User-Agent 标头。但是我觉得当请求到达服务器时,Wurfl 已经解决了作为标头一部分存在的 User-Agent。有没有办法通过代码设置User-Agent值,并在新设置的header上解析设备能力。

【问题讨论】:

    标签: nginx wurfl openresty


    【解决方案1】:

    这里是 ScientiaMobile 首席技术官 Luca Passani。 NGINX 的 WURFL 模块是一种商业产品,因此所有客户都可以从我们出色的支持团队获得直接支持。我建议您直接联系 ScientiaMobile,我们将非常乐意为您提供帮助。 是否有某些原因使您不习惯使用标准支持渠道? 无论如何,如果您在此处发布配置文件,我会请团队中的某个人查看此线程。您看不到用户代理字符串这一事实表明有问题(您是否可能正在查看已被上游破坏的 HTTP 请求?)

    以下是我们网站上发布的文档中的配置示例:

    WURFL Module NGINX Configuration

    谢谢

    【讨论】:

    • 此外,要验证 wurfl 正在处理哪个用户代理,您必须启用: wurfl_request_property wurfl_engine_target;和(如果您使用的是 fastcgi):fastcgi_param WURFL_ORIGINAL_USERAGENT $wurfl_useragent;接收包含 wurfl 已读取的用户代理的自定义标头(名为 WURFL_ORIGINAL_USERAGENT)。
    【解决方案2】:

    您可能想尝试的是51Degrees Nginx module,在执行检测时用户代理不受影响,并且功能设置在您选择的标题中。由于它除了读取之外不会触及 User-Agent 标头,因此您应该可以随意更改它。

    另外,检测前是否需要更改?如果没有,那么 proxy_set_header 就可以了。但是如果需要设置之前就必须使用set函数(我不确定可以用来设置已有的header)。

    或者,如果这只是为了测试,那么 Firefox 的 Modify Headers 插件对此非常有用,甚至 Apache Bench。

    【讨论】:

    • 我不得不对此投反对票。问题是关于 ScientiaMobile 产品的。跳上这个来插入竞争对手的产品不是很专业,也不能反映做这件事的公司的好光。也不能隐瞒身份。
    猜你喜欢
    • 2023-03-10
    • 1970-01-01
    • 2016-04-21
    • 1970-01-01
    • 2021-08-11
    • 2015-06-09
    • 2017-01-16
    • 2018-09-21
    • 2017-06-01
    相关资源
    最近更新 更多