Safari can't open the page. The error is the operation couldn't be completed.
Protocol error. (NSPOSIXErrorDomain:100)I had the above error when viewing pages of my sites with Safari or iOS. My VPS had the cpnginx plugin, so that I could use nginx via the WHM and Control Panel. By disabling cpnginx the sites displayed fine in Safari, so that confirmed the culprit.
Another issue I had, but could not link with this one until recently, is flooding requests from Safari browsers, resulting in extremely slow performance (checking browser stats on Cpanel's AWStats, I could see that Safari accounted for 73% and Chrome for 9% of page views, pretty irregular traffic).
Searching, I found these, it appears that hiding the
Upgrade header in config resolves it. So I created a new Vhost template through WHM and added the line:
proxy_hide_header Upgrade;
inside the
location / { } block.
This issue with "Upgrade" header in Nginx vs. Safari took me about 10-12 hours to debug :( Safari on MacOS/iOS retried a lot of requests on our website and did DoS attack. Retry-logic in Safari is very aggresive (for example, 500 requests to same URL in 10-15 seconds)
Hide Upgrade header by default for clients, please. It's very difficult to discover reason of this dangerous behavior.
https://trac.nginx.org/nginx/ticket/915
After much research and testing it turned out that I needed to hide the Upgrade header in my config. proxy_hide_header Upgrade;
Read more here: https://trac.nginx.org/nginx/ticket/915
https://stackoverflow.com/questions/37762163/safari-fails-to-give-response-when-using-http-2