Salve,
ho un problema alquanto rognoso da risolvere e ancora non ho capito come fare.
Vi spiego nel dettaglio.

Io posseggo un server cloud Windows Server 2008 e IIS 7 dove è stato configurato l'hosting di circa 20 siti compreso 1 che ha un certificato SSL e quindi navigabile in https.
La configurazione è stata fatta correttamente (anche confermato dall'assistenza di Thawte, l'ente certificatore) solo che capita un problema.

Se erroneamente si digita il dominio di uno degli altri siti con il protocollo https, il browser, giustamente, avvisa che il sito non è sicuro. Se si procede ugualmente accettando le eccezioni viene comunque mostrato il sito con SSL ma con l'url del dominio http.

Es. http://www.sitosenzassl.it e https://www.sitoconssl.it

Se digito erroneamente https://www.sitosenzassl.it e, procedo come vi ho detto precedentemente, viene comunque visualizzato il contenuto di https://www.sitoconssl ma con l'url https://www.sitosenzassl.it
A questo problema ho ovviato utilizzando delle URL rewrite nel web.config ma il problema non è stato risolto per Google che sta indicizzando i siti in maniera errata.
Infatti gli spider navigando su https://www.sitosenzassl.it stanno indicizzando i contenuti di https://www.sitoconssl.it

Un esempio concreto lo potete vedere se digitate su Google "lightrial". I primi due risultati hanno come dominio davematthewsband.it.
Ho chiesto la rimozione dei risultati a Google ma non è pensabile di contattarlo ogni volta che appaiono risultati sbagliati.

Se qualcuno ha già sbattuto la testa sul problema potrebbe essere così gentile da aiutarmi?
Grazie mille!

Fabio
10.806 messaggi dal 09 febbraio 2002
Contributi
Ciao Fabio,
forse dovresti aggiungere una regola di url rewriting nel web.config del sito accessibile via HTTPS.
In pratica: quando qualcuno raggiunge il sito via HTTPS da un nome host che non è quello proprio, lo reindirizzi verso lo stesso URL in HTTP.

Prova questa per esempio (non l'ho testata, non sono sicuro che funzioni subito)
<system.webServer>
    <rewrite>
        <rules>
            <rule name="RedirectToHttp">
                <match url="(.*)" />
                <conditions>
                   <!-- Se la richiesta è avvenuta via HTTPS... -->
                   <add input="{HTTPS}" pattern="ON" />
                   <!-- ... e se il nome host non è il proprio... -->
                   <add input="{HTTP_HOST}" pattern="^www\.dominio\.com$" negate="true" />
                </conditions>
                <!-- ...reindirizza verso http -->
                <action type="Redirect" url="http://{HTTP_HOST}/{R:1}" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>


Questo ti richiederà l'installazione del modulo URL Rewrite di IIS che trovi qui o dal Web Platform Installer.
http://www.iis.net/downloads/microsoft/url-rewrite
(Ammesso che tu non l'abbia già installato).

Con IIS 8, che supporta il Server Name Indication, forse avresti potuto risolvere indicando esplicitamente il nome host a cui il sito HTTP può essere raggiunto.
Infatti, come vedi qui, per il binding HTTPS puoi indicare non solo il certificato ma anche un nome host.

ciao,
Moreno
Modificato da BrightSoul il 09 giugno 2016 21.07 -

Enjoy learning and just keep making
Grazie Moreno,
dici che questa soluzione eviterà che Google indicizzi le pagine sbagliate?
Al momento è la mia preoccupazione maggiore!

Fabio
Comunque ho provato con uno spider simulator e pare che veda i contenuti corretti.
Mille grazie... mi hai salvato da una catastrofe ;-)

Fabio
1 messaggio dal 15 luglio 2005
Buongiorno,
ho lo stesso problema però su windows server 2016.
La regola non funziona perchè se metto https davanti al dominio senza https mi manda a una pagina generica 404, mentre google continua a indicizzare le pagine del sito con l'https ma col dominio del sito senza https.
Ogni aiuto è gradito :-(
Grazie
M.
10.806 messaggi dal 09 febbraio 2002
Contributi
Ciao Marco,

La regola non funziona perchè se metto https davanti al dominio senza https mi manda a una pagina generica 404, mentre

Il sito IIS in cui hai pubblicato l'applicazione ha il binding per HTTPS? Il fatto che tu ottenga un errore 404 potrebbe dipendere dal fatto che nel tuo server hai un altro sito (es. il Default web site) con binding HTTPS, che non è quello in cui è pubblicata la tua applicazione.

Ecco come configurare il binding HTTPS.
https://knowledge.digicert.com/solution/SO14335.html


le pagine del sito con l'https ma col dominio del sito senza https.

Che vuol dire? Fai un esempio.

ciao,
Moreno

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.