SYSADMIN JOURNAL / Linux · Networking · Security · HostingProcedure, appunti e soluzioni tecniche
Apache

Mailgun da Windows Server 2012: testare un reverse proxy TLS moderno per le API

Pubblicato il 12/11/2026

Guida basata su interventi documentati. Test verificato di un relay HTTP/TLS moderno per un client legacy non compatibile con le cipher suite richieste dalle API.

Problema

Un'applicazione su Windows Server 2012 R2 utilizzava una versione di Schannel che non riusciva a negoziare le suite di cifratura richieste da un endpoint API moderno. Modificare la sola configurazione TLS dell'applicazione non può aggiungere cipher suite non implementate dal sistema.

Principio della soluzione

La connessione legacy può essere terminata su un proxy HTTP controllato, che stabilisce a sua volta una connessione TLS moderna verso l'API. Questo riduce il problema di compatibilità ma introduce un componente in più e richiede attenzione alla gestione delle credenziali.

Esempio Nginx

server {
    listen 127.0.0.1:8443 ssl;
    server_name relay-api.example.invalid;
    ssl_certificate /etc/ssl/certs/relay.crt;
    ssl_certificate_key /etc/ssl/private/relay.key;
    location / {
        proxy_pass https://api.mailgun.net;
        proxy_ssl_server_name on;
        proxy_ssl_verify on;
        proxy_set_header Host api.mailgun.net;
    }
}

È solo un esempio: non esporre il relay sulla rete pubblica senza access control e autenticazione. Il client legacy potrebbe richiedere un listener con versione TLS compatibile, valutando i rischi.

Verifica TLS

nginx -t && systemctl reload nginx
curl -v https://api.mailgun.net/v3/domains

Nel test del relay, la risposta HTTP 401 Unauthorized da un endpoint che richiede credenziali ha confermato che la negoziazione TLS e il percorso HTTP arrivavano all’API. Non dimostra l’invio riuscito di una email.

Limiti

Non usare un reverse proxy per aggirare indefinitamente i requisiti di sicurezza di un sistema fuori supporto. La soluzione definitiva rimane l'aggiornamento dell'OS o la migrazione dell'integrazione su un servizio moderno.

Monitoraggio

Registrare handshake TLS, codici di risposta, timeout e scadenza certificati; evitare di loggare header Authorization e credenziali API.

Articoli correlati

Usare segnaposto e verificare l’ambiente prima di eseguire i comandi. Nessuna credenziale o identificativo infrastrutturale reale è riportato.