2. nginx + Let'sEncrypt

Nginx

Hasta ahora solo accedimos a contenido web generado por aplicaciones de terceros. Nginx es un servidor web que nos permite alojar nuestro propio contenido.

Nginx además es un proxy-reverso. Redirige el tráfico a otros servicios/servidores según una serie de criterios: subdominio, subdirectorio, puerto, etc

Let'sEncrypt

Para que nuestros servicios utilicen comunicación cifrada necesitaremos una serie de claves y un certificado que las avale. Si generamos nosotros mismos esos certificados tendremos una comunicación cifrada pero los navegadores detectan estos certificados como riesgosos y lanzan una advertencia al momento de acceder al sitio.

La compañía Let'sEncrypt ofrece certificados válidos de manera gratuita. Estos certificados tienen una validez de 90 días. Para validar los certificados Let'sEncrypt genera una conexión al puerto 80 pero recordemos que, estando en la facultad, no podemos usar ese puerto.

Por suerte Let'sEncrypt permite validar el dominio utilizando resolución vía DNS con duckdns.

swag

Swag es una solución, del grupo LinuxServer, que nos ofrece nginx con generación y renovación de certificados de Let'sEncrypt.

$ git clone https://github.com/GermanXander/docker_iot.git

# branch WWWa

La gente de sistemas de la facultad ya asignó un puerto (10010+) a la MAC de cada raspberry pi. Se puede ver la dirección MAC con el comando "ip a". La interfaz eth0.

IP WAN: 200.45.145.146
NAME    MAC                IP              DNS                                PORT      TCP/UDP
Rasp0   E4:5F:01:C2:A1:36  192.168.25.210  fabricck.duckdns.org               10060,10160,10860
Rasp1   E4:5F:01:C2:A2:89  192.168.25.211  fernandokle.duckdns.org            10061,10161,10861
Rasp2   E4:5F:01:C2:8B:10  192.168.25.212  hectoriot2024.duckdns.org          10062,10162,10862
Rasp3   E4:5F:01:C2:8B:BB  192.168.25.213  alaniot.duckdns.org                10063,10163,10863
Rasp4   E4:5F:01:48:D0:D3  192.168.25.214  iotsandro.duckdns.org              10064,10164,10864
Rasp5   E4:5F:01:C2:8A:AA  192.168.25.215  alanb525.duckdns.org               10065,10165,10865
Rasp6   E4:5F:01:C2:07:F1  192.168.25.216  marianodr.duckdns.org              10066,10166,10866
Rasp7   B8:27:EB:6F:34:10  192.168.25.217  stackberry.duckdns.org             10067,10167,10867
Rasp8   B8:27:EB:C7:8B:DA  192.168.25.218  raspi-angelo.duckdns.org           10068,10168,10868
Rasp9   E4:5F:01:C2:A2:95  192.168.25.219  kisielpi.duckdns.org               10069,10169,10869
Net01   B4:D5:BD:67:A9:3A  192.168.25.220  monomxt.duckdns.org                10059,10159,10859
Net02   88:B1:11:04:C1:67  192.168.25.46   fiounam.duckdns.org                10058,10158,10858