Cara cek HTTP/2 aktif

Sudah ada beberapa website yang saya kelola menggunakan HTTPS untuk aksesnya, selain (katanya) meningkatkan SEO, juga yang pasti komunikasi data antar pengunjung dan web servernya jadi lebih aman dengan enkripsi. Tapi ada satu lagi kelebihannya, yakni fitur HTTP/2 yang merupakan teknologi kelanjutan dari protokol HTTP. Syaratnya hanyalah dengan memasang sertifikat SSL, mengaktifkan HTTPS dan tentu saja web server yang dipakai harus mendukung HTTP/2 juga.

Ada beberapa cara untuk menguji apakah implementasi HTTP/2 anda sudah berfungsi normal atau belum. Jadi walaupun website anda sudah bisa diakses lewat HTTPS bukan berarti HTTP/2 sudah aktif juga lho.

Pertama kita akan memanfaatkan curl tapi minimal versi 7.43 baru ada dukungan HTTP/2:

curl -v --http2 servernesia.com

Hasilnya:

> Connection: Upgrade, HTTP2-Settings
> Upgrade: h2c
> HTTP2-Settings: Pc82FxLiAQAAP__
> 
< HTTP/1.1 101 Switching Protocols
< Upgrade: h2c
< Connection: Upgrade
* Received 101
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* TCP_NODELAY set
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0

Ada kode h2 dan HTTP2 dalam pesannya itu berarti sudah sukses.

Kedua bisa juga mencoba koneksi lewat OpenSSL:

openssl s_client -connect servernesia.com:443 -nextprotoneg ''

Balasannya:

CONNECTED(00000003)
Protocols advertised by server: h2, h2c, h2-17, h2-14, spdy/3.1, spdy/3, spdy/2, http/1.1

Sama. Kalau ada kode h2 dan variannya berarti memang sudah support.

Dan terakhir adalah cara tes HTTP/2.0 secara online dan bisa dengan mudah memanfaatkan tool dari KeyCDN: https://tools.keycdn.com/http2-test

KeyCDN HTTP 2 Test

Tinggal isikan alamat situsnya dan klik Test maka selesai sudah urusannya. 🙂

26 Comments

    1. Bukan mbak. HTTP/2 ini adalah fitur yang bisa diaktifkan setelah menggunakan HTTPS. Menggantikan SPDY milik Google dulu.

    1. Mbak mau ngapain ya kok butuh ekstrak file RAR di Linux? Pakai distro apa? Itu errornya karena file tersebut bukan diarsip dan kompres menggunakan RAR.

  1. website qu smpai saat ini msh blum kebuka setelah pindah dri sharedhosting ke vps. kan udh qu kompres semua data di public_html yg ada di website hosting terus di upload ke drobox. setelelah itu posisi udh di root@intan:/public_html# wget https://urldrobox/file.zip setelah itu unzip namafile.zip engga bisa di ektrak muncul tulisan is not RAR archive
    No files to extract terus udh di coba ke root@intan:# wget https://urldrobox/file.zip terus root@intan:#unzip namafile.zip sama jg ga bisa di ekstrak..

    1. Lho ya. Haha. 😀 DropBox ga ada directlink untuk filenya mbak. Kemungkinan yang mbak download itu halaman websitenya bukan filenya.

      Ini nama domainnya masih mengarah ke shared hosting yang lama? Letakkan saja di direktori public_html yang disana dan baru di VPSnya mbak unduh: wget http://website_disini.com/backup.zip

      Kalau ini WordPress mbak pasang plugin Duplicator saja biar gampang pindah – pindahnya.

  2. mas, agar ALPN nya supported gimana ya itu ? saya http/2 nya sudah aktif, tinggal ALPNnya saja yang blom support, cara agar support ALPN nya gimana ya?

    1. Halo mas Budi, bisa dijelaskan dulu mas pakai web server apa? Terus sertifikat SSLnya juga apa? Konfigurasi HTTPSnya juga bisa dicopas sekalian.

  3. pakai perintah curl, hasilnya :

    curl: option --http2: is unknown
    curl: try 'curl --help' or 'curl --manual' for more information

    jadi pakai opsi kedua, berikut hasilnya : https://goo.gl/MGJr3a

    hasil nginx -V :

    nginx version: nginx/1.11.9
    built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC)
    built with OpenSSL 1.0.1e-fips 11 Feb 2013
    TLS SNI support enabled
    configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --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-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -fPIC' --with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie'
    1. Sudah HTTP/2 juga ya mbak? 😀

      Itu curlnya belum update kalau ga salah makanya ga bisa ngecek. Saya tebak ini masih di CentOS 6. 😀

      1. Hehe 😀 Betul mbak.

        Pilihan distro aman buat server sekarang:

        • Debian 8
        • Ubuntu 16.04
        • Ubuntu 14.04
        • CentOS 7
      1. hmm…centos 7 juga default opensslnya masih versi 1.0.1, apa harus compile dari source juga untuk centos 7 mas?

  4. ini hasilnya mas :

    nginx version: nginx/1.11.10
    built by gcc 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC)
    built with OpenSSL 1.0.1e-fips 11 Feb 2013
    TLS SNI support enabled
    configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --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-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC' --with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie'
  5. Saya tambah manual untuk repo nginx nya mas seperti ini :

    [nginx]
    name=nginx repo
    baseurl=http://nginx.org/packages/centos/7/$basearch/
    gpgcheck=0
    enabled=1

Tinggalkan Balasan ke Intan Batalkan balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *