Connessione non sicura: problema sul reindirizzamento www a non www con https
Non ho molta familiarità con le configurazioni del server, per favore aiutami su questo problema:
Ho un server Debian8 e un certificato SSL, il certificato SSL solo per il mio dominio non www quindi vorrei reindirizzare tutte le richieste www in non www, sotto il codice htaccess funziona per alcuni browser ma non funziona per altri
Su Chrome: reindirizzare http://www.example.como http://example.comrichiedere con successo https://example.comquesto è ciò che voglio per tutti i browser.
Su Mozilla: Reindirizzamento della http://www.example.comrichiesta https://www.example.come interruzione del funzionamento con errore di CONNESSIONE INSICURA. Penso che da qui il browser controlli prima il certificato SSL di www e si fermi prima del reindirizzamento non www.
Di seguito è riportato il mio .htaccessreindirizzamento da www a non www con https, c'è qualcosa che mi sono perso .htaccess? o qualsiasi altra soluzione tramite DNS o con l'aiuto di apache default ssl.conf.
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Il mio certificato SSL è Certbot e ho seguito questo tutorial per installare https://www.youtube.com/watch?v=-TPoGQ4IjDI&t=100s potresti vedere che c'è un solo prompt di dominio che non è www, nessuna opzione per l'impostazione di SSL certificato per www. Se potessi ottenere un certificato SSL per www, anche io posso risolvere il problema.
Risposte
funziona per alcuni browser ma non funziona per altri
Non dovrebbe "funzionare" per nessun browser, a meno che tu non abbia forse precedentemente accettato il certificato non valido? Riceverai l'avviso del browser del certificato non valido prima che il tuo sito riceva la richiesta. L'handshake SSL è la prima cosa che si verifica durante la richiesta per garantire che la connessione sia sicura, non è possibile implementare un reindirizzamento (o altro) prima che ciò avvenga.
L'unico modo per risolvere il tuo problema è implementare un certificato SSL che copre il wwwsottodominio.
Questo dovrebbe essere un commento, ma è un po 'lungo.
Penso che da qui il browser controlli prima il certificato SSL di www e si fermi prima del reindirizzamento non www.
Perché pensi che?
Hai esaminato i tuoi log per vedere cosa veniva effettivamente richiesto?
La ragione più probabile di questo comportamento è che il tuo browser Firefox non è in grado di verificare il certificato, ma hai controllato il messaggio di errore specifico e hai deciso che non era rilevante per la discussione qui, quindi non ci hai detto di cosa si tratta. E hai provato a puntare firefox direttamente su https://example.com e non hai ricevuto lo stesso errore.
O l'hai fatto?
ha funzionato per me!
Fondamentalmente nel termine di SSL http://www.example.com e http://example.com sono domini diversi. devi riemettere il certificato e aggiungere http://example.com come dominio principale e aggiungere un altro dominio http://www.example.com
https://www.namecheap.com/support/knowledgebase/article.aspx/811/70/how-do-i-reissue-my-ssl-certificate