Sto ospitando lo stesso sito web in due posizioni:
- Una posizione pubblica
https://mysite.com
(AWS ospitato) - Una posizione su una LAN con DNS locale
https://mysite.local
.
mysite.com
è un servizio che si rivolge agli utenti con una connettività molto scarsa e mysite.local
è un clone dello stesso servizio. Il mio obiettivo è che la versione locale possa fungere da backup trasparente quando la connettività a mysite.com
è scadente.
Quindi il mio utente naviga su mysite.com
in Chrome. Di solito, il contenuto è servito da AppCache. In script, controlla se mysite.local
è disponibile. In tal caso, se la connessione ad esso è sicura. In tal caso, utilizzo mysite.local
come back-end per la sessione (inclusa la scrittura di dati utente privati). Altrimenti, tento di utilizzare il pubblico mysite.com
.
Sto pensando di utilizzare openssl
per autofirmare un certificato CA e usarlo per produrre un certificato per mysite.local
. Il server Web (nginx) accetta solo richieste HTTPS e utilizza tale certificato. Fornisco dei passaggi affinché il mio utente aggiunga la chiave pubblica dal mio certificato CA al suo elenco di CA affidabili. Si fidano di me e non hanno problemi a farlo.
Sono consapevole che un utente malintenzionato su un'altra rete LAN potrebbe configurare un DNS locale e creare il proprio mysite.local
, ma sarebbe difficile per loro ottenere un certificato attendibile per tale dominio sul dispositivo dell'utente.
Sto mettendo a rischio i dati dei miei utenti con questo tipo di configurazione? Come posso migliorarlo?