Domanda

Come si reindirizza HTTPS su HTTP?.Cioè il contrario di quello che (apparentemente) tutti insegnano.

Ho un server su HTTPS per il quale ho pagato una certificazione SSL e un mirror per il quale non l'ho fatto e lo tengo in giro solo per le emergenze, quindi non merita di ottenere una certificazione.

Sui desktop dei miei clienti ho ALCUNE scorciatoie che puntano a http://production_server E https://production_server (entrambi funzionano).Tuttavia, so che se il mio server di produzione si guasta, viene attivato l'inoltro DNS e i client che hanno "https" sul collegamento guarderanno https://mirror_server (che non funziona) e una grossa schermata rossa di disagio di Internet Explorer 7 per la mia azienda.

Sfortunatamente, non posso semplicemente cambiarlo a livello di client.Questi utenti sono molto analfabeti informatici:e molto probabilmente impazziranno nel vedere errori di "insicurezza" HTTPS (specialmente il modo in cui Firefox 3 e Internet Explorer 7 lo gestiscono al giorno d'oggi:PUNTO PUNTO, per fortuna, ma non mi aiuta qui LOL).

Suo molto facile trovare Soluzioni Apache per Reindirizzamento http->https, ma per quanto mi riguarda non posso fare il contrario.

Idee?

È stato utile?

Soluzione

Questo non è stato testato ma penso che dovrebbe funzionare usando mod_rewrite

RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}

Altri suggerimenti

Tieni presente che il motore di riscrittura si attiva solo una volta ricevuta la richiesta HTTP, il che significa che avrai comunque bisogno di un certificato, affinché il client possa impostare la connessione per inviare la richiesta!

Tuttavia, se la macchina di backup sembrerà avere lo stesso nome host (per quanto riguarda il client), non dovrebbero esserci motivi per non poter utilizzare lo stesso certificato della macchina di produzione principale.

In base alla risposta di ejunker, questa è la soluzione che funziona per me, non su un singolo server ma su a nuvola ambiente

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{ENV:HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Per coloro che utilizzano a .conf file.

<VirtualHost *:443>
    ServerName domain.com
    RewriteEngine On
    RewriteCond %{HTTPS} on
    RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}

    SSLEngine on
    SSLCertificateFile /etc/apache2/ssl/domain.crt
    SSLCertificateKeyFile /etc/apache2/ssl/domain.key
    SSLCACertificateFile /etc/apache2/ssl/domain.crt

</VirtualHost>

Se nessuna delle soluzioni di cui sopra funziona per te (non ha funzionato per me), ecco cosa ha funzionato sul mio server:

RewriteCond %{HTTPS} =on
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [L,R=301]

tutto quanto sopra non ha funzionato quando ho usato cloudflare, questo ha funzionato per me:

RewriteCond %{HTTP:X-Forwarded-Proto} =https
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

e questo funziona sicuramente senza proxy nel modo:

RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

È meglio evitare di usare mod_rewrite quando puoi.

Nel tuo caso sostituirei Rewrite con questo:

    <If "%{HTTPS} == 'on'" >
            Redirect permanent / http://production_server/
    </If>

IL <If> la direttiva è disponibile solo in Apache 2.4+ come da questo blog qui.

Nessuna risposta funziona per me sul sito Web Wordpress, ma le seguenti funzionano (è simile ad altre risposte ma presenta un piccolo cambiamento)

RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

questo funziona per me.

<VirtualHost *:443>
    ServerName www.example.com
    # ... SSL configuration goes here
    Redirect "https://www.example.com/" "http://www.example.com/"
</VirtualHost>

<VirtualHost *:80>
    ServerName www.example.com
    # ... 
</VirtualHost>

assicurati di ascoltare entrambe le porte 80 e 443.

Per quanto ne so, anche un semplice meta aggiornamento funziona senza causare errori:

<meta http-equiv="refresh" content="0;URL='http://www.yourdomain.com/path'">
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top