背景

  • 某项目现场设备无法连接互联网,导致安卓设备时钟不准确
  • nginx配置中,强制启用了https,时钟误差的情况下,会提示时钟错误

原因

  • SSL在握手过程中,会发送本地时间

详情可转到 https://blog.csdn.net/zqt520/article/details/27972811

现场方案

  • 根据现场网络情况,可用nginx将访问网站的协议分离出来,既现场设备用http协议,其他网络依旧使用ssl
  set $ssl_pro 0;
  if ($remote_addr ~* "^(127\.0\.0\.1)|(localhost)|(10\.\d{1,3}\.\d{1,3}\.\d{1,3})|(172\.((1[6-9])|(2\d)|(3[01]))\.\d{1,3}\.\d{1,3})|(192\.168\.\d{1,3}\.\d{1,3})$") {
     set $ssl_pro 1;
  }
  if ($ssl_protocol = "") { set $ssl_pro "${ssl_pro}2"; }
  if ($ssl_pro = "02") { return 301 https://$host$request_uri; }
  if ($ssl_pro = "1") { return 301 http://$host$request_uri; }
Last modification:December 7, 2020
如果觉得我的文章对你有用,请随意赞赏