È possibile risolvere il problema HTTPS utilizzando HTTPS in locale con un certificato SSL autofirmato. Heroku has a great how-to article about generating one.
Dopo aver impostato SSL su tutti i server di sviluppo, verrà comunque visualizzato un errore durante il caricamento della risorsa in Safari poiché viene utilizzato un certificato non attendibile (i certificati autofirmati SSL non sono considerati affidabili dai browser in quanto non possono essere verificati con un'autorità fidata). Per risolvere questo problema, puoi caricare l'URL problematico in una nuova scheda in Safari e il browser ti chiederà di consentire l'accesso. Se fai clic su "Mostra certificato" nel prompt, ci sarà una casella di controllo nella vista dettagli del certificato su "Consenti sempre contenuto da localhost". Controllare questo prima di consentire l'accesso memorizzerà le impostazioni in Safari per il futuro. Dopo aver permesso l'accesso, basta ricaricare la pagina originariamente mostrando un problema e si dovrebbe essere a posto.
Questo è un caso d'uso valido come sviluppatore, ma assicurati di comprendere appieno le implicazioni sulla sicurezza e i rischi che stai aggiungendo al tuo sistema apportando questa modifica!
btw, per ovviare a questo problema, al momento stiamo servendo tutte le risorse tramite https. ma non dovrebbe consentire a Safari un modo per abilitare i contenuti misti? no? – Staelen
Questo è estremamente frustrante. Esistono motivi legittimi per cui è necessario disporre di una pagina https che carichi qualcosa (ad esempio un RPC o un servizio locale). Apple non dovrebbe disabilitare il comportamento senza un modo per riaverlo. –
In realtà questa è una ragionevole precauzione di sicurezza da parte di Apple. Consentendo contenuti misti, qualcuno potrebbe iniettare codice dannoso o curiosare sulla sessione (se fosse dinamico).Se sei preoccupato dell'impatto sulle prestazioni dell'utilizzo di SSL/TLS, aggiungi il supporto HTTP/2 al tuo server. I benchmark mostrano un enorme miglioramento delle prestazioni che lo rende veloce quanto HTTP/1.1 quando si prelevano molte risorse o ajax dallo stesso dominio. –