Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Only mobile safari cannot open the page, no internet message

At first, I don't own an iPad but some clients reports some weird problem with a website of mine on the iPad. They cannot open any page on the website, they end up with a blank page with the message: "Safari cannot open webpage as it is not connected to internet".

The message is a kind of weird because the user can open other websites and they are connected to the internet. Sometimes you will see the webpage for a split second and then the same message.

Yesterday a friend of mine (he is not a programmer) brings his iPad 3 with IOS7 to test it but we cannot figure out what the problem is because Safari do not share some debug info (at least you need a mac to see debug info and I don't own a mac either).

I test the same version of the website locally on a Windows machine to be sure it is not a hosting problem. The same error on iPad Safari, so there is a problem with the served files.

The website is programmed with PHP. What I have tested so far (and didn't lead to solution):

  • Safari: Turn off Cookies and Javascript
  • Safari: Empty cache several times
  • PHP: Turn off sending header info (disable all customized cache headers)
  • PHP: Turn off customized CSS for browser
  • PHP: Turn off embedding of sprites (base64 data embedding)
  • PHP: Turn off minifying of HTML

The problem is still there. It is very difficult to test what is going wrong without any debug info of Safari, can somebody see what going on in the safari browser that cause this error?

The website: http://www.meezingeninrotterdam.nl

And does this error also occur on the MAC version of Safari?

EDIT: Report the error to Apple: Apple Safari Error Bug Report

UPDATE:

Think I find the reason, see also my solution. If you have an iDevice, do you want to test it to confirm? See my solution below.

UPDATE 2

See answer, answer from Apple. No solution. If you know the solution or workaround, please let me know.

like image 537
Codebeat Avatar asked Feb 15 '23 00:02

Codebeat


2 Answers

I was having this issue where Safari would return the message Safari cannot open the page because the network connection was lost. My client was having the issue but it was working fine for me. I was eventually able to replicate the issue using the iOS Simulator for an iPhone 7 on iOS 10.2.

The server is running Ubuntu 14.04 (trusty) using nginx 1.4.6 and the site is using a SSL/TLS cert from Let's Encrypt.

I monitored the error log using sudo tail -f /var/log/nginx/error.log

Each time I refreshed the site in the iPhone simulator, it generated three new error messages on the server:

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)

After some digging it turns out there's 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.

We had the following ssl_session_cache option set in each virtual host's server scope in /etc/nginx/sites-available/:

ssl_session_cache shared:SSL:50m;

I removed this configuration line from each of the virtual host configurations under /etc/nginx/sites-available/ and added it back under the http scope in the main /etc/nginx/nginx.conf config file.

After restarting nginx with sudo service nginx restart, the problem was resolved for us. :)

like image 189
SammyK Avatar answered Feb 24 '23 00:02

SammyK


I can confirm that this is broken on my iPhone 5S in iOS7. I will say that in Safari on Mac I am receiving the following warning:

"4event.layerX and event.layerY are broken and deprecated in WebKit. They will be removed from the engine in the near future."

Not sure if that is your problem or not, but that is the only error I see on safari for mac.

I hooked the phone up to my mac and tried using the developer console...The only errors I am seeing are:

Failed to load resource: the network connection was lost Invalid CSS property declaration #FF0000 in general.css

Hope something in there helps. The only thing else I could think is that maybe your server is sending a header that iOS7 doesn't like.

like image 27
kevindeleon Avatar answered Feb 24 '23 00:02

kevindeleon