编程语言
首页 > 编程语言> > javascript – 只有手机游戏无法打开页面,没有互联网消息

javascript – 只有手机游戏无法打开页面,没有互联网消息

作者:互联网

起初,我没有iPad,但有些客户在iPad上报告了我网站的一些奇怪问题.他们无法打开网站上的任何页面,他们最终得到一个空白页面,上面写着:“Safari无法打开网页,因为它没有连接到互联网”.

该消息有点奇怪,因为用户可以打开其他网站并且它们已连接到互联网.有时您会看到网页一瞬间,然后是相同的消息.

昨天我的一个朋友(他不是程序员)带着他的iPad 3和IOS7进行测试但我们无法弄清楚问题是什么,因为Safari不共享一些调试信息(至少你需要一个mac来查看调试信息和我也没有自己的mac).

我在Windows机器上本地测试相同版本的网站,以确保它不是托管问题. iPad Safari上的错误相同,因此服务文件存在问题.

该网站使用PHP编程.到目前为止我测试了什么(并没有导致解决方案):

> Safari:关闭Cookie和Javascript
> Safari:多次清空缓存
> PHP:关闭发送标头信息(禁用所有自定义缓存标头)
> PHP:关闭浏览器的自定义CSS
> PHP:关闭sprite的嵌入(base64数据嵌入)
> PHP:关闭缩小HTML

问题仍然存在.没有Safari的任何调试信息,很难测试出错的地方,有人能看到Safari浏览器中发生的导致此错误的内容吗?

网站:
http://www.meezingeninrotterdam.nl

并且在MAC版本的Safari上也会出现此错误吗?

编辑:
向Apple报告错误:

更新:

想想我找到原因,也看我的解决方案.如果您有iDevice,是否要测试它以确认?请参阅下面的解决方案

更新2

请参阅答案,Apple的回答.没有解决方案.如果您知道解决方案或解决方法,请告诉我们.

解决方法:

我遇到了这个问题,Safari会返回消息Safari无法打开页面,因为网络连接丢失了.我的客户遇到了这个问题,但它对我来说很好.我最终能够使用适用于iOS 10.2的iPhone 7的iOS模拟器复制该问题.

服务器使用nginx 1.4.6运行Ubuntu 14.04(可靠),该站点使用Let’s Encrypt的SSL / TLS证书.

我使用sudo tail -f /var/log/nginx/error.log监视错误日志

每次我在iPhone模拟器中刷新网站时,它都会在服务器上生成三条新的错误消息:

2016/12/22 17:48:39 [alert] 8071#0: worker process 12812 exited on signal 11 (core dumped)
2016/12/22 17:48:39 [alert] 8071#0: worker process 12848 exited on signal 11 (core dumped)
2016/12/22 17:48:40 [alert] 8071#0: worker process 12846 exited on signal 11 (core dumped)

经过一番挖掘后,结果是a bug with how nginx talks to OpenSSL.

Obvious workaround is to use the same session cache for all server blocks, e.g. to configure it on the http{} level.

我们在/ etc / nginx / sites-available /中的每个虚拟主机的服务器范围中设置了以下ssl_session_cache选项:

ssl_session_cache shared:SSL:50m;

我从/ etc / nginx / sites-available /下的每个虚拟主机配置中删除了此配置行,并将其添加回主/etc/nginx/nginx.conf配置文件中的http作用域.

使用sudo service nginx restart重新启动nginx之后,问题就解决了.

标签:html,javascript,php,css,mobile-safari
来源: https://codeday.me/bug/20190831/1775770.html