Konfigurere gruppepolicy (del 1) - Windows Server 2008 R2

Vi byttet til HTTPS på vårt eldre ASP.NET-nettsted for omtrent en måned siden. Vi hadde allerede implementert omdirigering med HTTP-statuskode 301 'Flyttet permanent' for utdaterte aspx-ressurser i appens Global.asax-fil før vi byttet til HTTPS, så vi la til noen flere linjer i omdirigeringsalgoritmen i Application_BeginRequest-metoden for å omdirigere alle forespørsler til aspx-sider til HTTPS-kolleger. Kjernedelen av den nåværende versjonen av denne algoritmen ser slik ut ("eksempel.com" brukes i stedet for det virkelige domenet):

Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs) Dim host_requested As String = Request.Url.AbsoluteUri ' Save the original request string to know whether we need to redirect Dim host_to_redirect As String = host_requested ' Prepare for analysis - remove the protocol and domain For Each sRoot In m_asPossibleRoots If host_to_redirect.StartsWith(sRoot, StringComparison.OrdinalIgnoreCase) Then host_to_redirect = host_to_redirect.Substring(sRoot.Length) Exit For End If Next ' Remove 'home/' if any Dim sHome As String = 'home/' If host_to_redirect.StartsWith(sHome, StringComparison.OrdinalIgnoreCase) Then host_to_redirect = host_to_redirect.Substring(sHome.Length) End If ' Redirect old product pages and articles If host_to_redirect.StartsWith('outdated-resource-folder1', StringComparison.OrdinalIgnoreCase) Then host_to_redirect = 'resource1.aspx' ElseIf host_to_redirect.StartsWith('outdated-resource-folder2', StringComparison.OrdinalIgnoreCase) Then host_to_redirect = 'resource2.aspx' ' ElseIf ' ... processing other outdated resources End If ' ... other manipulations with host_to_redirect ' Add the required protocol and domain host_to_redirect = 'https://example.com/' + host_to_redirect ' If we need to redirect, do it If (host_to_redirect <> host_requested) Then ' also provides a 301 HTTP status code in the response Response.RedirectPermanent(host_to_redirect) End If End Sub 

Vi la også til HTTPS-versjonen av nettstedet vårt i Google Webmaster Tools og lignende ressurser som jobber med nettstedet vårt. Alt fungerer ok, men nylig har det vist seg at et av webanalyseverktøyet vi bruker bestemmer hovedprotokollen til ressursen vår (HTTP eller HTTPS) ved å sende forespørsler til example.com/robots.txt og lese protokollen i svaret . Visst, alle disse forespørslene til robots.txt på nettstedet vårt behandles fortsatt som HTTP fordi vi ikke (og ikke kunne) kode omdirigering for denne ikke-ASP.NET-ressursen i Global.asax.

Etter å ha alt dette er hovedspørsmålet følgende: Trenger vi å implementere HTTPS-omdirigering for robots.txt hvis vi byttet til HTTPS på vårt ASP.NET-nettsted? Kan det påvirke SEO og lignende ting? Vi brydde oss ikke om dette, da det ser ut til at dette ikke er nødvendig for Google & Bing WMT, Google Analytics og lignende verktøy.

Hvis vi trenger å implementere HTTPS-omdirigeringer for robots.txt, må vi gjøre dette for andre ressurser som ikke er ASP.NET, som sitemap.xml og lignende? Og hva er den beste metoden for å implementere dette i ASP.NET-prosjektet vårt? Som jeg forstår kan vi bare gjøre dette i web.config, men dette kan bety at vi må flytte HTTPS-omdirigeringslogikkdelen fra Global.asax til web.config også. Vil denne to-trinns omdirigeringslogikken fungere sømløst?

Hvis du vil kjøre nettstedet ditt over SSL, må du sende det alt over SSL, ellers kan sikkerheten fortsatt kompromitteres. Det betyr at alle de statiske filene som css, javascript, bilder, robots.txt og sitemap.xml må lastes over SSL.

Den beste måten å være sikker på er å bruke URL Rewrite i IIS. Du må kanskje installere det hvis du ikke ser det noe sted i IIS Manager. Viderekoblingene kan enkelt konfigureres i nettkonfigurasjonen:

<?php                      ?> var13 ->

HSTS-overskriften forteller nettleseren din om ikke å be om noen annen ressurs på nettstedet ditt via HTTP og umiddelbart be om det via HTTPS. (I tilfelle HTML-koden din fortsatt knytter en ressurs til HTTP)

  • Vil denne ordningen med HSTS fungere sammen med viderekoblingsreglene kodet i Global.asax (litt av et rør)?
  • Jeg forstår at vi må overføre alt nettstedinnhold som brukes til å gjengi sider gjennom HTTPS (css, javascript, bilder), men hvorfor trenger vi å bruke HTTPS for spesielle tekstressurser som robots.txt og sitemap.xml lest av søkemotorbots kun? Og det kan være lurt å ha noen ressurser som ligger på nettstedet vårt, andre brukere kan laste ned med spesielle hemmelige HTTP-lenker som ikke er tilgjengelige for publikum.Hvorfor trenger vi bare å tilby dem via HTTPS?
  • @TecMan Ikke gjør det vanskelig for deg selv, legg all omdirigeringslogikken på ett sted: web.config-filen, med mindre du trenger en automatisert måte å generere viderekoblingene på.
  • @TecMan Hvilken grunn har du for å rettferdiggjøre bruken av HTTP? Det er som å låse døren din, men holde et vindu åpent.
  • 1) Google ser på HTTP- og HTTPS-nettadresser som to forskjellige nettsteder; 2) Du gjør det vanskelig for deg selv ved å lage unntak fra viderekoblingsreglene; 3) Informasjonskapsler vil være synlige over den usikrede forbindelsen, noe som potensielt kompromitterer sikkerheten, og jeg savnet sannsynligvis en rekke andre sikkerhetsproblemer.

fungert for deg: Charles Robertson | Ønsker du å kontakte oss?