Konfiguration af gruppepolitik (del 1) - Windows Server 2008 R2

Vi skiftede til HTTPS på vores ældre ASP.NET-side for omkring en måned siden. Vi havde allerede implementeret omdirigering med HTTP-statuskode 301 'Flyttet permanent' for forældede aspx-ressourcer i appens Global.asax-fil, før vi skiftede til HTTPS, så vi tilføjede nogle få linjer til omdirigeringsalgoritmen i Application_BeginRequest-metoden for at omdirigere alle anmodninger til aspx-sider til deres HTTPS-kolleger. Kernedelen af ​​den aktuelle version af denne algoritme ser sådan ud ("eksempel.dk" bruges i stedet for det rigtige domæne):

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 tilføjede også HTTPS-versionen af ​​vores websted til Google Webmasterværktøjer og lignende ressourcer, der arbejder med vores websted. Alt fungerer ok, men for nylig har det vist sig, at et af webanalyseværktøjet, vi bruger, bestemmer hovedprotokollen for vores ressource (HTTP eller HTTPS) ved at sende anmodninger til example.com/robots.txt og læse protokollen i svaret . Sikker på, alle disse anmodninger til robots.txt på vores websted behandles stadig som HTTP, fordi vi ikke (og ikke kunne) kode omdirigering for denne ikke-ASP.NET ressource i Global.asax.

Efter alt dette er hovedspørgsmålet følgende: Har vi brug for at implementere HTTPS-omdirigering til robots.txt, hvis vi skiftede til HTTPS på vores ASP.NET-websted? Må det påvirke SEO og lignende ting? Vi gider ikke om dette, da det ser ud til, at dette ikke er nødvendigt for Google & Bing WMT, Google Analytics og lignende værktøjer.

Hvis vi har brug for at implementere HTTPS-omdirigeringer til robots.txt, skal vi dog gøre dette for andre ressourcer, der ikke er ASP.NET som sitemap.xml og lignende? Og hvad er den bedste metode til at implementere dette i vores ASP.NET-projekt? Som jeg forstår, kan vi kun gøre dette i web.config, men det kan betyde, at vi også skal flytte HTTPS-omdirigeringslogikdelen fra Global.asax til web.config. Vil denne 2-trins omdirigeringslogik fungere problemfrit?

Hvis du vil køre dit websted via SSL, skal du sende det alt over SSL, ellers kan sikkerheden stadig kompromitteres. Det betyder, at alle de statiske filer som css, javascript, billeder, robots.txt og dit sitemap.xml skal indlæses via SSL.

Den bedste måde at sikre er at bruge URL Rewrite i IIS. Du bliver muligvis nødt til at installere det, hvis du ikke ser det nogen steder i IIS Manager. Omdirigeringerne kan let konfigureres i webkonfigurationen:

<?php                      ?> var13 ->

HSTS-overskriften fortæller din browser ikke at anmode om nogen anden ressource på dit websted via HTTP og straks anmode om det via HTTPS. (Hvis din HTML-kode stadig linker en ressource til HTTP)

  • Vil denne ordning med HSTS arbejde sammen med de omdirigeringsregler, der er kodet i Global.asax (lidt af et rør)?
  • Jeg forstår, at vi har brug for at videregive alt webstedsindhold, der bruges til at gengive sider gennem HTTPS (css, javascript, billeder), men hvorfor skal vi bruge HTTPS til specielle tekstressourcer som robots.txt og sitemap.xml læst af søgemaskinebots kun? Og vi vil måske have nogle ressourcer hostet på vores websted, som andre brugere kan downloade med specielle hemmelige HTTP-links, der ikke er tilgængelige for offentligheden.Hvorfor har vi kun brug for at levere dem via HTTPS?
  • @TecMan Gør det ikke svært for dig selv, læg al omdirigeringslogikken ét sted: web.config-filen, medmindre du har brug for en automatisk måde at generere omdirigeringer på.
  • @TecMan Hvilken grund har du til at retfærdiggøre brugen af ​​HTTP? Det er som at låse døren, men holde et vindue åbent.
  • 1) Google ser HTTP- og HTTPS-webadresser som 2 forskellige websteder; 2) Du gør det vanskeligt for dig selv ved at skabe undtagelser fra omdirigeringsreglerne; 3) Cookies vil være synlige over den usikrede forbindelse, der potentielt kompromitterer sikkerheden, og jeg savnede sandsynligvis en masse andre sikkerhedsproblemer.

arbejdet for dig: Charles Robertson | Ønsker du at kontakte os?