2015-07-22 12 views
5

Ho sofferto da quando ho installato la nuova versione di Chrome 44.0.2403.xx.Problema dell'intestazione HTTPS con la versione di Chrome 44.0.2403.xx

Il mio primo problema era che alcuni fogli di stile sul mio sito web venivano caricati su https, ma il mio sito web era solo http.

Uso wordpress, quindi ho cercato all'interno della funzione di base per trovare dove è stato aggiunto l'HTTPS nell'URL.

Il colpevole è la funzione is_ssl(). La base di Wordpress è la verifica HTTPS sulla variabile $_SERVER['HTTPS'] e la mia era impostata su 1.

Ho scoperto che l'ultima versione di Google Chrome invia un'intestazione HTTPs = 1.

Come posso evitare che questa intestazione causi problemi al mio sito web?

+0

possibile duplicato di [Wordpress (WooCommerce?) Forza https (quando non dovrebbe)] (http://stackoverflow.com/questions/31565155/wordpress-woocommerce-forces-https-when-it-shouldnt) – Kirby

risposta

3

per risolvere il mio problema Ho permesso mod_header sul server e ha aggiunto questa regola al mio appache2.conf lima:

<IfModule mod_headers.c> 
    RequestHeader unset HTTPS 
</IfModule> 
+0

Questo funziona per i server che utilizzano Apache (poiché modifica il file .htaccess). Non è il caso della maggior parte dei server NGINX. Il problema di root è che i siti WP usano qualcosa di meno che WooCommerce 2.3.13. Fai riferimento alla soluzione del problema qui http://superuser.com/a/943989 –

+0

Hai ragione riguardo NGINX, ma non proviene solo da WooCommerce, Wordpress Core contiene una funzione che utilizza l'intestazione https: [is_ssl()] (https : //codex.wordpress.org/Function_Reference/is_ssl). Nel mio caso il problema si è verificato quando ho utilizzato la funzione [get_template_directory_uri()] (https://codex.wordpress.org/Function_Reference/get_template_directory_uri) – Pierre

+0

Se non si esegue apache, è possibile risolvere temporaneamente il problema impostando $ _SERVER [ 'http'] = falso; nel wp-config.php. – Pierre

1

Se non è possibile modificare la configurazione del server, oppure solo a scopo di test è possibile utilizzare questo chrome plugin Modify Headers for Google Chrome™, vai nel plugin e aggiungi l'azione (Modifica) con nome (HTTPS) e valore (0), non dimenticare di abilitarlo.

Ecco, il tuo sito web wordpress funzionerà come dovrebbe essere.

0

Hai utilizzato WooCommerce nel tuo WordPress? WooCommerce aggiornato all'ultima versione 2.3.13?

Secondo this articolo, v'è un problema di Google Chrome HTTPS: 1

ho anche affrontare questo problema, ma aveva risolvere dopo l'aggiornamento alla versione più recente WooCommerce, 2.3.13.

+0

WooCommerce usa la funzione is_ssl() di Wordpress, forse l'ultima versione non usa più questa funzione ... – Pierre

0

Questo plug-in disponibile su GitHub può farti risparmiare un sacco di problemi fino al rilascio della prossima versione di Chrome.

In pratica forza l'HTTPS a essere falso. Una correzione in Google Chrome sarà disponibile nella loro prossima versione, prevista per il 27 luglio 2015. Fino ad allora il plugin dovrebbe aiutare.

Potete vederlo su GitHub: https://goo.gl/D54cWv

Acclamazioni

1

Ho avuto lo stesso problema e ho risolto aggiungendo il codice seguente alla fine del functions.php file del tema:

function https_chrome44fix() { 
    $_SERVER['HTTPS'] = false; 
} 
add_action('init', 'https_chrome44fix',0); 
2

L'intestazione che Google Chrome invia HTTPS: 1 viene convertita in $_SERVER['HTTP_HTTPS'] sul lato server. Se si trovano ad affrontare questo problema e si desidera una soluzione temporanea, aggiungere il seguente al file wp-config.php:

// Chrome 44 HTTPS:1 header issue temporary fix 
$_SERVER['HTTP_HTTPS'] = 0; 

UPDATE 2015-07-29

a Chrome versione 44.0.2403.107 l'intestazione HTTPS è stata rimossa e sostituita da un'intestazione Upgrade-Insecure-Requests: 1.

Problemi correlati