Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the ad-inserter domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vhosts/blog.webeats.it/httpdocs/wp-includes/functions.php on line 6114

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the cookie-law-info domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vhosts/blog.webeats.it/httpdocs/wp-includes/functions.php on line 6114
Abilitiamo il protocollo HTTP/2 su nginx - Blog WebEats

Breve howto su come abilitare il supporto HTTP/2 su nginx (Ubuntu)

Prima di tutto ci dobbiamo assicurare che la versione di nginx sia >= di 1.9.5 o che sia stata compilata con il supporto –with-http_v2_module

Per verificare queste 2 cose possiamo procedere con i seguenti comandi
nginx -v
nginx version: nginx/1.8.0

nginx -V
nginx version: nginx/1.8.0
built by gcc 4.8.2 (Ubuntu 4.8.2-19ubuntu1)
built with OpenSSL 1.0.1f 6 Jan 2014
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-mail --with-mail_ssl_module --with-file-aio --with-http_spdy_module --with-cc-opt='-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--as-needed' --with-ipv6

In questo caso non abbiamo una versione recente di nginx, infatti nel repository stable di nginx di Ubuntu, è presente la 1.8.0, ma seguendo questa guida, possiamo modificare o aggiungere il repository da stable a mainline, dove è contenuta una versione più recente.

Dopo esserci assicurato di avere il supporto per HTTP/2, è necessario solamente modificare una linea nel file di config di nginx /etc/nginx/nginx.conf:
listen 443 ssl;
modificarla in
listen 443 ssl http2;

Ora riavviamo il server per avere attivo il protocollo HTTP/2 su nginx
service nginx restart

Ricordiamo che tutte le implementazioni del protocollo HTTP/2 richiedono HTTPS.

Quasi tutti i browser supportano il nuovo protocollo. Diamo un occhiata alla tabella riassuntiva