Symptoms
-
On iOS/MacOS devices, when accessing a website a blank page is shown or the following error is shown:
The operation couldn’t be completed. Protocol error
-
Nginx is configured as proxy server in Domains > example.com > Apache & nginx settings > Proxy Mode
Cause
Issue is caused by Apache bug 59311: when http2
module is enabled both for Apache and Nginx, Apache sends an incorrect header to Nginx. When Nginx used as proxy, it passes this invalid header further to browsers causing them to refuse the connection.
In order to track the impact of this behavior, the Plesk internal request with ID PPPM-12381 has been created.
Resolution
http2
is enabled both for Apache and Nginx is not supported: when Nginx acts as a proxy, it only interacts with the browsers.To work around this issue, consider one of the following options:
Click on a section to expand
Disable http2 module in Apache
- Log in to Plesk GUI
- Go to Tools & Settings > Apache Web Server > Disable the module
http2
> Click OK to apply the changes
Modify Nginx header configuration
-
Connect to the server via SSH
-
Run the following command:
# echo “proxy_hide_header upgrade;” > /etc/nginx/conf.d/safari_fix.conf && systemctl restart nginx