Configurant certificat SSL per a la navegació HTTPS a les màquines darrerre del proxy invers

Configurant certificat SSL per a la navegació HTTPS a les màquines darrerre del proxy invers

En aquest xicotet article explique el muntatge que he resolt al final configurant certificat SSL per a la navegació segura a les màquines que tinc darrere del proxy invers.

Ací recupere la imatge de l'estructura de màquines Raspberry Pi 4 i del proxy invers que faig afegir en aquest article Configurar proxy invers a Nginx per tenir diferents Raspberry Pi i diferents IP i projectes, veurem que tinc una màquina principal que fa de proxy invers amb IP 192.168.0.2 i desvia l'accès http i https a màquines internes (la IP 192.168.0.3 i la IP 192.168.0.4):

certificat SSL per a màquines internes del proxy invers

Doncs bé, la problemàtica estava en que si, des de fora, des d'internet, jo ficava http://domini_de_la_màquina, el router acceptava la petició per la NAT i el proxy invers (192.168.0.2) redireccionava el domini a la màquina nº 2 amb IP 192.168.0.3 però el navegador deia que la navegació no és segura al no ser https:

navegació no segura amb http

I si en el proxy invers (192.168.0.2) modificava el fitxer de configuració del propi site d'Nginx /usr/local/etc/nginx/sites-enabled/domini_de_la_màquina i afegia https en la part del proxy_pass de la següent manera tampoc em funcionava:

location / {
proxy_pass https://192.168.1.42/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}

Em mostrava el següent error, perquè clar en el servidor de destí no hi havia un certificat SSL i no entenia la petició https al port 443:

error de no configurar bé les màquines darrere del proxy server

LA SOLUCIÓ
La solució ha segut, primer, generar un certificat amb la utilitat certbot en el proxy invers, encara que la pàgina web ni la base de dades no estiguen físicament desplegades en eixe servidor 192.168.0.2 sinó en 192.168.0.3:

$ certbot certonly --force-renew -d domini_de_la_màqina

Copiarem les rutes del certificat /usr/local/etc/letsencrypt/live/domini_de_la_màquina/fullchain.pem i de la clau privada /usr/local/etc/letsencrypt/live/domini_de_la_màquinat/privkey.pem i ara, deixarem a mà el codi de la configuració dels certificats SSL que certbot, normalment, configura al vol a altres projectes web local de la pròpia màquina 192.168.0.2 (pots fer click sobre aquesta imatge per a veure-la més gran):

configurant SSL a les màquines internes darrere del proxy invers

Per exemple, en el meu domini joancatala.net, la configuració de certbot per a escoltar el port 443 per a l'https és:

listen 443 ssl; # managed by Certbot
ssl_certificate /usr/local/etc/letsencrypt/live/joancatala.net-0003/fullchain.pem; # managed by Certbot
ssl_certificate_key /usr/local/etc/letsencrypt/live/joancatala.net-0003/privkey.pem; # managed by Certbot
include /usr/local/etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /usr/local/etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
#
server {
if ($host = www.joancatala.net) {
return 301 https://$host$request_uri;
} # managed by Certbot
#
if ($host = joancatala.net) {
return 301 https://$host$request_uri;
} # managed by Certbot
#
server_name joancatala.net www.joancatala.net;
listen 80;
return 404; # managed by Certbot

Aleshores, el que he fet ha segur copiar aquest codi, desar-ho en la configuració de l'Nginx de la pàgina que encara no tinc https i modificar la ruta del certificat i la clau pública i del domini, enlloc de joancatala.net he ficat el nou domini.

Reiniciem el servei Nginx:

doas service nginx restart

I ja ha funcionat. Quan fiques https://nom_de_la_màquina ja es veu la pàgina web albergada en la màquina nº2 (IP 192.168.0.3) en la part interna de la meua estructura informàtica:

La web interna ja està funcionant bé amb https

Doncs bé això és tot, espere que trobes útil aquest article i que et motive a compartir els teus trucs, els teus coneixements i els teus experiments amb el Programari Lliure. Pensa-ho, va, que la Comunitat del Programari Lliure va creixent gràcies a la documentació, el disseny, la formació o la programació, sigues part de la Comunitat :-)

La cultura i la lliure circulació de les idees és l'arma més efectiva contra les dictadures del pensament i contra la ignorància.

Utilitats

NAVEGACIÓ SENSE RATOLÍ

- Tab següent enllaç.
- Shift+Tab anterior enllaç.
- Enter activa l'enllaç.
- Alt+esquerra anar arrere.

CONTRAST DE COLORS

Accessibilitat - Color Negre
Accessibilitat - Color Groc
Accessibilitat - Color Verd

Accessibilitat - Color Blau
Accessibilitat - Color Crema
Accessibilitat - Color Blanc

 

PORTADES ALTERNATIVES