2013-08-20 24 views
5

Ho creato un sito Web e lo ho distribuito su Windows Azure. Da qualche parte durante lo sviluppo ho abilitato SSL dalle proprietà del progetto e tutto (indirizzo https) funzionava bene in localhost e nel sito Web di Azure in cui ho distribuito il mio sito.Impossibile disabilitare SSL per il sito Web

Ora il mio processo Azure è in scadenza e sto trasferendo il mio sito Web su un altro hosting asp.net gratuito che non supporta SSL senza pagarlo.

Quindi penso che sarà facile, basta impostare SSL abilitato su False come era quando ho iniziato lo sviluppo e tutto va bene, ma non è così.

Il mio sito Web si rifiuta di funzionare dopo aver disabilitato SSL. Immagine di mia visiva impostazione con IIS espresso Studio aperto e dimostrando che c'è un server su l'indirizzo giusto: http://db.tt/EKTcxPsd

Quando lancio il sito da Visual Studio inizia il caricamento della pagina localhost:44300. Dopo alcuni secondi sono reindirizzato a https://localhost che visualizza un errore "pagina web non disponibile". Immagine: http://db.tt/VntZTpKD

Ho provato a eliminare la cartella IISExpress e a riavviare Visual Studio. Il file ApplicationHost.config ricreato ha le informazioni corrette (per quanto ne so)

<site name="PrototypeNew-bootstrap3" id="2"> 
    <application path="/" applicationPool="Clr4IntegratedAppPool"> 
    <virtualDirectory path="/" physicalPath="E:\path-shortened\Visual Studio 2013\Projects\PrototypeNew\PrototypeNew-branch" /> 
    </application> 
    <bindings> 
    <binding protocol="http" bindingInformation="*:44300:localhost" /> 
    </bindings> 
</site> 

Ho lo stesso problema dopo la pubblicazione del sito web per un ambiente di hosting. Passare a http://mywebsite.com reindirizza a https://mywebsite.com e mostra lo stesso errore della pagina localhost.

Se riattivo SSL, l'indirizzo https sul mio localhost inizia a funzionare correttamente.

Qualcuno sa cosa sta succedendo qui? C'è un altro switch SSL da qualche parte che ho dimenticato di spegnere? Perché mi sta sempre reindirizzando a https

EDIT. Ho provato a creare un nuovo progetto asp.net mvc 4. Lanciato e funzionava bene. Copiato il web.config al mio progetto e stava ancora reindirizzando a https:localhost

+1

Hai una regola di riscrittura degli URL nel tuo web.config per reindirizzare tutto il traffico http su https? – Tommy

+0

Sembra che lo faccia, ma non lo faccio. Ho appena provato a eseguire il debug e inserito un breakpoint in Global.asax.cs Application_Start(). Il punto di interruzione è stato raggiunto e la pagina è stata reindirizzata dopo aver abbandonato il metodo – JoonasL

risposta

13

Okay ho finalmente trovato la soluzione. FilterConfig.cs sembrava il seguente:

public static void RegisterGlobalFilters(GlobalFilterCollection filters) 
    { 
     filters.Add(new HandleErrorAttribute()); 
     filters.Add(new System.Web.Mvc.AuthorizeAttribute()); 
     filters.Add(new RequireHttpsAttribute()); // problem 
    } 

Deve avere aggiunto automaticamente il RequireHttpsAttribute quando ho attivato SSL e poi non rimuoverlo. Rimozione manualmente risolto il problema.

Problemi correlati