Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Installare un server HTTP/2 su Windows

Guida all'installazione di un server HTTP/2 su Windows, utilizzando e configurando opportunamento h2o.
Guida all'installazione di un server HTTP/2 su Windows, utilizzando e configurando opportunamento h2o.
Link copiato negli appunti

Per fornire il supporto al protocollo HTTP/2 abbiamo due possibilità:

  1. aggiungere ad un server HTTP esistente il supporto ad HTTP/2: per esempio, Apache può supportare il nuovo protocollo con un modulo esterno denominato mod_h2, attualmente in fase di sviluppo;
  2. utilizzare un server proxy, non necessariamente in ascolto sullo stesso host su cui si trova il server HTTP/1.1;

Il primo approccio sembrerebbe il più sensato, considerando la diffusione di Apache a livello mondiale; tuttavia, al momento in cui viene scritta questa guida, per poter far funzionare correttamente il web server è necessario applicare alcune patch ai sorgenti, che però risultano incompatibili con il patchset applicato su Debian ed Ubuntu. Per questo motivo non approfondiremo questa possibilità.

Il secondo approccio è indipendente dal server web utilizzato, ed è quello che seguiremo in questa guida: nghttpx sarà il proxy utilizzato su Ubuntu, h2o quello su Windows. In questa lezione ci occuperemo di quest'ultimo caso, mentre la prossima sarà dedicata alla configurazione relativa ad Ubuntu Server.

Installazione di h2o su Windows

h2o è un server sviluppato da DeNa Co. Ltd, che supporta tutte le versioni del protocollo HTTP attualmente in uso, compresa HTTP/2: può funzionare sia in maniera autonoma, che come proxy. Il server è distribuito con licenza MIT, ed è anche per questo che adotteremo questa soluzione nel prosieguo della guida.

Per poter soddisfare adeguatamente le dipendenze di h2o occorre lavorare all’interno dell’ambiente Cygwin, nato appositamente per favorire il porting sui sistemi operativi Microsoft, di software originarimente destinato ai sistemi UNIX-like. Tutti i comandi che verranno richiesti nel prosieguo di questa sezione si suppongono eseguiti all’interno di un Cygwin Terminal.

Installazione di Cygwin

Per installare Cygwin è necessario utilizzare l’installer grafico disponibile sul sito ufficiale del progetto, scegliendo opportunamente la versione a 32 o a 64 bit a seconda della versione di Windows che si utilizza.

Dal momento che le dipendenze sono veramente tante e che la procedura grafica di selezione dei pacchetti non risulta sufficientemente rapida per i nostri scopi, consigliamo di procedere con un’installazione base, utilizzando le impostazioni predefinite, e di aggiungere successivamente le dipendenze. Occorre notare che non esiste un software nativo per la gestione e installazione da riga di comando dei pacchetti (come apt sui sistemi Debian o yum sui sistemi ispirati a Red Hat), e sebbene siano disponibili wrapper alternativi come cyg-apt o apt-cyg, questi non sembrano essere sufficientemente funzionali.

Procediamo quindi utilizzando in maniera alternativa l’installer ufficiale di Cygwin: una volta completata l’installazione di base, apriamo un Cygwin Terminal dal menu Start e digitiamo i seguenti comandi:

lynx -source "http://cygwin.com/setup-x86.exe" >setup-x86.exe
			mv setup-x86.exe /usr/sbin
			chmod +x /usr/sbin/setup-x86.exe

Ovviamente, il nome dell'installer (che in questo caso è setup-x86.exe) varierà in base all'architettura del sistema operativo che stiamo utilizzando.

A questo punto possiamo facilmente riprodurre l’ambiente utilizzato per questa guida con i seguenti comandi:

setup-x86 –q –P curl
			setup-x86.exe -q –P $(curl –qL https://goo.gl/TTgKHn)

Installazione di h2o

Per compilare ed installare h2o occorre procedere come segue:

git clone https://github.com/h2o/h2o
			cmake .
			make
			make install

Creiamo adesso una directory per memorizzare il file di configurazione di h2o, la chiave privata e il certificato SSL:

mkdir /usr/local/etc/h2o

Creiamo quindi un file di configurazione per h2o con il comando:

nano /usr/local/etc/h2o/h2o.conf

con il seguente contenuto:

listen:
			port: 3000
			ssl:
			certificate-file: /usr/local/etc/h2o/h2o.crt
			key-file: /usr/local/etc/h2o/h2o.key
			http2-max-concurrent-requests-per-connection: 1024
			num-threads: 1
			hosts:
			127.0.0.1:
			paths:
			/:
			proxy.reverse.url: http://127.0.0.1:80
			proxy.preserve-host: ON
			proxy.timeout.io: 60000
			proxy.timeout.keepalive: 600000

Infine, si può scegliere di installare h2o come servizio: con il comando seguente se ne configura l’avvio automatico:

cygrunsrv -I h2o -p /usr/local/bin/h2o.exe -t auto -a "-c /usr/local/etc/h2o/h2o.conf"

Il servizio appena creato può essere avviato con il comando:

cygrunsrv –S h2o

Ti consigliamo anche