也许,这个问题的标题被认为是,不是一个有效的问题,但是我们已经花费了4-5天的时间来调试这个问题。以下是背景:
现在是工作/预期行为:
当应用程序刚刚启动(没有背景或者被主屏幕杀死)时,应用程序点击该URL,网络操作员识别该URL,然后我们收到用户的移动电话号码。
这里是不起作用的场景:
现在,我们按下Android的后退按钮,优雅地退出应用程序。这意味着Android应用程序处于后台&被杀。现在,我们再次从应用程序的图标启动该应用程序,并且头文件的浓缩不起作用。
现在,我们使用tcpflow命令添加了各种tcp级别日志:
sudo tcpflow -i eth0 port 443 -C -e http
sudo tcpflow -i eth0 port 80 -C -e http我们发现,每当应用程序从后台重新启动(因此点击该URL),整个请求都是加密的,但是我们接收的URL是http ,端口是443。
我们在我们的http拦截器和Android手机中添加了各种日志,但是我们无法确定根本原因。有人能指出一个不同的方向来寻找这个问题。
编辑1:
发布于 2019-03-30 06:02:30
经过一整天的研究,我终于找出了这个问题的根源。
在这里,我发现了下面的线索(万一有人从中得到帮助):
launchMode类型的安卓应用程序launchMode和这个http加密Nginx &它的更改日志联系起来,因此我发现这与Nginx & HTTP通信有关。Strict-Transport-Security,它被设置为max-age=31536000 always我删除了标题(第一次将它的值降到10毫秒,这样浏览器就可以生效),并用相同的场景测试我的应用程序,一切都像预期的那样开始工作。
https://stackoverflow.com/questions/55385072
复制相似问题