Apakah Nginx mendukung ALPN?

By | June 18, 2019

Solusi cepat bagi tahu apakah dari Nginx yang terinstall apakah telah dapat menggunakan ALPN (Application Layer Negotiation Protocol) setelah mengaktifkan HTTPS dan akan mencoba HTTP/2. Ya karena ini syaratnya supaya HTTP/2 dapat digunakan jadi wajib tahu apa kriterianya apabila Nginx yang kamu gunakan asalnya dari compile sourcecode.

Syarat pertama-tama yakni versi OpenSSL yang digunakan bagi compile web server Nginx yakni 1.0.2. Kamu dapat mengeceknya dengan command dibawah:

openssl version
OpenSSL 1.0.2j 26 Sep 2016

Kedua tentu saja Nginx telah dicompile OpenSSL diatas (atau lebih lama/baru asalkan 1.0.2):

nginx -V       
nginx version: nginx/1.10.0
built with OpenSSL 1.0.2h 3 May 2016 (running with OpenSSL 1.0.2j 26 Sep 2016)
TLS SNI support enabled
configure arguments: --with-cc-opt='-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fPIC' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_addition_module --with-http_dav_module --with-http_flv_module --with-http_geoip_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_mp4_module --with-http_random_index_module --with-http_secure_link_module --with-http_v2_module --with-http_sub_module --with-http_xslt_module --with-http_slice_module --with-mail --with-mail_ssl_module --with-stream --with-stream_ssl_module --with-threads --add-module=/usr/src/packages/BUILD/debian/modules/headers-more-nginx-module --add-module=/usr/src/packages/BUILD/debian/modules/nginx-auth-pam --add-module=/usr/src/packages/BUILD/debian/modules/nginx-cache-purge --add-module=/usr/src/packages/BUILD/debian/modules/nginx-dav-ext-module --add-module=/usr/src/packages/BUILD/debian/modules/nginx-echo --add-module=/usr/src/packages/BUILD/debian/modules/ngx-fancyindex --add-module=/usr/src/packages/BUILD/debian/modules/nginx-http-push --add-module=/usr/src/packages/BUILD/debian/modules/nginx-lua --add-module=/usr/src/packages/BUILD/debian/modules/nginx-upload-progress --add-module=/usr/src/packages/BUILD/debian/modules/nginx-upstream-fair --add-module=/usr/src/packages/BUILD/debian/modules/ngx_http_substitutions_filter_module --add-module=/usr/src/packages/BUILD/debian/modules/memc-nginx-module --add-module=/usr/src/packages/BUILD/debian/modules/srcache-nginx-module --add-module=/usr/src/packages/BUILD/debian/modules/HttpRedisModule --add-module=/usr/src/packages/BUILD/debian/modules/redis2-nginx-module --add-module=/usr/src/packages/BUILD/debian/modules/nginx-development-kit --add-module=/usr/src/packages/BUILD/debian/modules/set-misc-nginx-module

Jadi kalau kamu compile from source ya mesti build dengan versi OpenSSL yang tepat. Kalau ternyata belum memenuhi syarat silahkan kamu compile ulang dengan syarat yang tepat atau update apabila asalnya dari instalasi repository.

Semuanya telah ada? Tahu darimana kalau ALPN telah bekerja? Cek gunakan tool ini saja: https://tools.keycdn.com/http2-test


Sumber https://servernesia.com