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?