Immaginate di dover far girare nel vostro Server Linux un servizio API pubblico, di gestire le chiamate tramite un Web server Nginx e di voler fornire una connessione sicura SSL alla chiamata fatta direttamente tramite IP…
La soluzione più veloce e a costo zero è quella di creare un Certificato SSL autofirmato.
Gli esempi che andremo a trattare in questo tutorial sono stati testati su un Server Ubuntu 18.04 (per coloro che non avessero a disposizione un Server Ubuntu 18.04 consiglio di visitare il sito internet di Hostinger, un Hosting Provider con i prezzi tra i più competitivi sul mercato) con un Web Server Nginx,
Supponendo di far girare all’interno del Server Ubuntu un servizio API in ascolto su Porta Interna 1234, la prima cosa da fare è quella di creare una configurazione Nginx mettendo in ascolto il Server sulla Porta Pubblica 443, con una location /api/ e dirottato su 127.0.0.1:1234
sudo nano /etc/nginx/conf.d/myApi.nginx.conf
Con l’editor “nano” si dovrà inserire questa configurazione
server{ listen 443; ssl on; ssl_certificate /opt/SSL/myApi.crt; ssl_certificate_key /opt/SSL/myApi.key; server_name _; location /api/ { proxy_pass http://127.0.0.1:1234; } }
Una raccomandazione………..NON RIAVVIARE NGINX perchè restituirebbe un errore in quanto i certificati myApi.crt e myApi.key non sono ancora stati creati!
Creazione del Certificato SSL Autofimato
Per creare il certificato SSL Autofirmato sarà sufficiente digitare in console questo comando
sudo mkdir /opt/SSL/ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /opt/SSL/myApi.key -out /opt/SSL/myApi.crt
Dando invio il sistema chiederà alcune informazioni da memorizzare nel certificato in fase di creazione:
– Country Name (2 letter code) [AU]: IT
– State or Province Name (full name) [Some-State]: UDINE
– Locality Name (eg, city) []: Udine
– Organization Name (eg, company) [Internet Widgits Pty Ltd]: Omar Baruzzo
-Organizational Unit Name (eg, section) []: omarbaruzzo.IT
– Common Name (e.g. server FQDN or YOUR name) []:Omar Baruzzo
– Email Address []:[email protected]
Una volta inseriti tutti i dati richiesti il Certificato SSL Autofirmato è creato ed è memorizzato all’interno della Path /opt/SSL.
Ora è possibile riavviare nginx tramite questo comando:
sudo service nginx restart
Il Server Ubuntu 18.04 è settato per permettere all’API di accettare chiamate protette (SSL) dal web,
blog
Pretty component of content. I just stumbled upon your weblog
and in accession capital to assert that I get actually
loved account your blog posts. Any way I’ll be subscribing to your feeds and even I success you access consistently fast.
Omar Baruzzo
Thank’s.. Omar