只有手机safari打不开页面,没有网络留言

Cod*_*eat 4 html javascript css php mobile-safari

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

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

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

我在 Windows 机器上本地测试了相同版本的网站,以确保它不是托管问题。iPad Safari 上出现同样的错误,因此提供的文件存在问题。

该网站是用 PHP 编程的。到目前为止我测试过的(并没有导致解决方案):

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

问题仍然存在。如果没有 Safari 的任何调试信息,很难测试出了什么问题,有人可以看到导致此错误的 safari 浏览器中发生了什么吗?

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

并且这个错误是否也出现在 Safari 的 MAC 版本上?

编辑:向 Apple 报告错误: Apple Safari 错误错误报告

更新:

认为我找到了原因,另请参阅我的解决方案。如果您有 iDevice,您想测试它以确认吗?请参阅下面的我的解决方案。

更新 2

请参阅答案,来自 Apple 的答案。没有解决方案。如果您知道解决方案或解决方法,请告诉我。

Sam*_*myK 6

我遇到了这个问题,Safari 会返回消息Safari cannot open the page because the network connection was lost.我的客户端有问题,但它对我来说工作正常。我最终能够在 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)
Run Code Online (Sandbox Code Playgroud)

经过一番挖掘,结果发现nginx 如何与 OpenSSL 对话存在错误

明显的解决方法是对所有服务器块使用相同的会话缓存,例如在 http{} 级别对其进行配置。

我们ssl_session_cache在每个虚拟主机的server范围内设置了以下选项/etc/nginx/sites-available/

ssl_session_cache shared:SSL:50m;
Run Code Online (Sandbox Code Playgroud)

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

用 重启 nginx 后sudo service nginx restart,问题就解决了。:)