收藏
回答

H5页面页面跳转其他网址useragent中丢失MicroMessenger/

框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
小程序 Bug Android 鸿蒙3.0 mate40pro 8.0.34

H5页面页面跳转我们自己的网址后useragent中丢失MicroMessenger/

正常的:Mozilla/5.0 (Linux; Android 12; NOH-AN01 Build/HUAWEINOH-AN01; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/107.0.5304.141 Mobile Safari/537.36 XWEB/5015 MMWEBSDK/20230202 MMWEBID/2534 MicroMessenger/8.0.33.2320(0x28002151) WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64

跳转后:Mozilla/5.0 (Linux; Android 12; NOH-AN01 Build/HUAWEINOH-AN01; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/107.0.5304.141 Mobile Safari/537.36 XWEB/5015 MMWEBSDK/20230202

涉及手机型号,华为mate40pro p50,三星S21 5G

回答关注问题邀请回答
收藏

8 个回答

  • ༺肥客泉༻
    ༺肥客泉༻
    04-19

    一些支持代码适配的 CDN 加速服务,则需要在 HTTP 的报文头中添加 Vary:User-Agent 这个参数。Nginx 环境网站配置 Vary:User-Agent。将以下代码添加到对应站点的配置文件中试下:

    add_header Vary "User-Agent";



    04-19
    有用
    回复 4
    • ༺肥客泉༻
      ༺肥客泉༻
      04-19
      根据搜索结果,当 H5 页面跳转到其他网址后,User-Agent 中可能会丢失 MicroMessenger、MMWEBID 和 sw.js。这是因为 Nginx 的默认配置可能无法正确处理这些特殊的 User-Agent 头信息。修改 Nginx 配置,添加 proxy_pass_header 指令,将 MicroMessenger、MMWEBID 头信息传递给后端服务器。使用 Nginx 的 rewrite 模块,重写 User-Agent 头信息,将丢失的部分补全。
      04-19
      回复
    • ༺肥客泉༻
      ༺肥客泉༻
      04-19
      Nginx 丢失 user-agent 微信 MMWEBID 后面所有内容 Nginx 在处理微信请求时,可能会丢失 user-agent 中的 MMWEBID 以及后面的所有内容。 这可能是由于 Nginx 的配置问题导致的。 您可以参考以下解决方案:
      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_set_header User-Agent $http_user_agent;


      检查您的 Nginx 配置文件是否包含任何可能导致丢失 user-agent 信息的规则。 例如,如果您的配置文件包含以下规则:
      location / {
          if ($http_user_agent ~* "MicroMessenger") {
              rewrite ^/(.*)$ /mobile/$1 break;
          }
      }
      则需要将 rewrite 规则更改为:
      location / {
          if ($http_user_agent ~* "MicroMessenger") {
              rewrite ^/(.*)$ /mobile/$1 permanent;
          }
      }
      04-19
      回复
    • ༺肥客泉༻
      ༺肥客泉༻
      04-19
      Nginx 丢失 User-Agent 微信 MMWEBID 后面所有内容:
      问题描述:Nginx 在转发请求时,丢失了 User-Agent 头信息中微信 MMWEBID 后面的所有内容,导致后续处理出现问题。
      常见原因:
      Nginx 默认配置中 underscores_in_headers 参数设置为 off,会导致下划线(_)被替换为空格,从而丢失 MMWEBID 后面的内容。
      请求头长度超过 Nginx 限制,导致部分内容被截断。
      解决方法:
      修改 Nginx 配置文件,将 underscores_in_headers 参数设置为 on。
      调整 Nginx 的 client_header_buffer_size 和 large_client_header_buffers 参数,增加请求头长度限制。
      04-19
      回复
    • ༺肥客泉༻
      ༺肥客泉༻
      04-19
      Nginx有一个已知的行为,即默认情况下会对请求头名称或值中包含下划线(_)的头部进行忽略。修改Nginx配置: 在Nginx的配置文件中,添加或修改与http块或server块同级的underscores_in_headers指令,将其设置为on,以允许在HTTP头部中使用下划线:
      underscores_in_headers on;
      这样设置后,Nginx将不再忽略含有下划线的头部字段,从而确保`User-Agent`中包含`MMWEBID`及其后续内容的请求头能够完整地转发给后端。
      04-19
      回复
  • 商科洁
    商科洁
    2023-11-24

    遇到同样的问题,有解决方案了吗

    2023-11-24
    有用
    回复
  • 幸福来敲门
    幸福来敲门
    2023-10-13

    遇到了同样的问题,荣耀20,华为p40pro,小米10、小米13的安卓版本经过页面重定向后,user-agent中的MicroMessenger微信标识也是丢失了


    2023-10-13
    有用
    回复
  • Z
    Z
    2023-07-25

    最后解决了吗


    2023-07-25
    有用
    回复
  • 小杨
    小杨
    2023-05-15

    遇到了同样的问题,请问这个最终解决了吗?

    2023-05-15
    有用
    回复
  • 🦈
    🦈
    2023-04-25

    这个问题解决了吗?我这边也出现这个问题了

    2023-04-25
    有用
    回复 1
    • 🦈
      🦈
      2023-04-25
      出现这种情况后,通过其他方式继续调用config后你的扫码还能用吗scanQRCode 或者定位getLocation这些功能?
      2023-04-25
      回复
  • Joey
    Joey
    2023-04-12

    问一下,最后怎么处理的呢?遇到同样的问题了

    2023-04-12
    有用
    回复 1
    • ✘Kong
      ✘Kong
      2023-04-21
      我这边暂时想到用WeixinJSBridgeReady来监听就可以,有回调的情况下就是微信了。
      2023-04-21
      回复
  • 渡
    2023-03-31

    链接直接用微信点开,是没有问题的,通过项目跳转有问题

    项目地址:https://wxtest.zhufengic.com/wxTerminal/buy/redirectToProd.do?pid=dd904277-4a1d-4d47-a131-754732a68136&prodType=ZFWXPT1116002

    跳转地址:https://epuat.zhufengic.com/payment/ePayChoosePayTypeMobile?orderNo=20230330160324620409602325

    2023-03-31
    有用
    回复 1
    • 胡军
      胡军
      2023-09-20
      请教一下,这个问题解决了吗?怎么解决了,现在也遇到这个问题了
      2023-09-20
      回复
登录 后发表内容