Symptoms
-
The following warning shows up when running
nginx -t
via CLI:# nginx -t
nginx: [warn] protocol options redefined for 203.0.113.2:443 in /etc/nginx/plesk.conf.d/vhosts/example.com.conf:7
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful -
Server preference http2 is enabled:
# plesk bin http2_pref --status
Enabled -
Preferred domain is set to example.com in Domains > example.com > Hosting & DNS > Hosting
-
Running command
plesk bin http2_pref --enable
may fix the warning temporarily, but will show up again.
Cause
Product issue:
- PPPM-14042 "Enabling HTTP/2 no longer results in the 'protocol options redefined' warning."
Fixed in:- Plesk Obsidian 18.0.54 18 July 2023 (Linux)
Resolution
Workaround
If update is not possible for some reason you may try the following
workaround
Use Event Handlers to update nginx configuration files:
-
Connect to the server via SSH
-
Create and Edit file
/root/update_nginx.sh
that will be used by the Event Handler:#!/bin/bash
vhostDir=$(grep VHOST /etc/psa/psa.conf | awk {'print $2'})
if [ ! -z "$vhostDir" ] ; then
sleep 15
find $vhostDir/system/*/conf -type f -name "nginx.conf" | xargs -i sed -i '/http2/!s/(listen [0-9.]*:443 ssl)/1 http2/' {}
find /etc/nginx/plesk.conf.d/webmails/ -type f -name "*.conf" | xargs -i sed -i '/http2/!s/(listen [0-9.]*:443 ssl)/1 http2/' {}
find /etc/nginx -type f -name "*.conf" | xargs -i sed -i '/http2/!s/(listen [0-9.]*:443 ssl)/1 http2/' {}
else
echo "Vhost DIR fetch failed. Exiting ..." && exit 0
fi -
Set executable permissions to the script:
# chmod +x /root/update_nginx.sh
-
Create Event Handler by going to Tools & Settings > Event Manager > Add Event Handler and add the following details:
- Event: Physical hosting created
- Priority: 50
- User: root
- Command: /root/update_nginx.sh
-
Repeat step 5 for Event: Physical hosting updated
-
Optionally it is possible to force the nginx configuration files update immediately by running the script manually once:
# /root/update_nginx.sh