HTTPS-ile läksime üle oma vanal ASP.NET-saidil umbes kuu aega tagasi. Enne HTTPS-ile üleminekut olime rakenduse Global.asaxi failis aegunud aspx-ressursside jaoks juba ümbersuunamise HTTP-olekukoodiga 301 „Püsivalt teisaldatud”, seega lisasime kõigi taotluste ümbersuunamiseks veel mõned read ümbersuunamisalgoritmi meetodil Application_BeginRequest. aspx-lehed oma HTTPS-i kolleegidele. Selle algoritmi praeguse versiooni põhiosa näeb välja selline (tegeliku domeeni asemel kasutatakse "example.com"):

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 

Lisasime oma veebisaidi HTTPS-versiooni ka Google'i veebimeistri tööriistadesse ja sarnastesse meie veebisaidiga töötavatesse ressurssidesse. Kõik töötab hästi, kuid hiljuti selgus, et üks meie kasutatavast veebianalüütika tööriistast määrab meie ressursi (HTTP või HTTPS) peamise protokolli, saates päringud aadressile example.com/robots.txt ja lugedes vastuses protokolli . Muidugi, kõiki neid meie veebisaidil olevaid robots.txt-i taotlusi töödeldakse endiselt HTTP-na, kuna me ei (ega suutnud) selle mitte-ASP.NET-i ressursi jaoks Global.asaxis ümber suunata.

Selle kõige olemasolu korral on põhiküsimus järgmine: Kas me peame rakendama robots.txt jaoks HTTPS-i ümbersuunamise, kui me läksime oma ASP.NET-i veebisaidil üle HTTPS-ile? Kas see võib mõjutada SEO-d ja sarnaseid asju? Me ei vaevunud selle pärast, sest tundub, et seda pole Google & Bing WMT, Google Analyticsi ja muude sarnaste tööriistade jaoks vaja.

Kui meil on siiski vaja rakendada HTTPS-i ümbersuunamised robots.txt-i jaoks, kas peame seda tegema ka muude mitte-ASP.NET-i ressursside jaoks, nagu sitemap.xml jms? Mis on parim viis selle rakendamiseks meie ASP.NET projektis? Nagu ma aru saan, saame seda teha ainult veebis.config, kuid see võib tähendada, et peame ka HTTPS-i ümbersuunamisloogika osa teisaldama Global.asax-ist veebi.config. Kas see kaheastmeline ümbersuunamisloogika töötab tõrgeteta?

Kui soovite oma veebisaiti SSL-i kaudu käitada, peate selle saatma kõike SSL-i kaudu, vastasel juhul võib turvalisust ikkagi ohustada. See tähendab, et kõik staatilised failid, nagu css, javascript, pildid, robots.txt ja teie sitemap.xml, tuleb SSL-i kaudu laadida.

Parim viis veenduda on kasutada URL-i ümberkirjutamist IIS-is. Võimalik, et peate selle installima, kui te seda IIS-halduris kuskil ei näe. Ümbersuunamisi saab hõlpsasti veebikonfiguratsioonis konfigureerida:

<?php                      ?> var13 ->

HSTS-i päises öeldakse teie brauserile, et ta ei taotleks teie saidil muid ressursse HTTP kaudu ja taotleks seda kohe HTTPS-i kaudu. (Juhul kui teie HTML-kood seob ressursi siiski HTTP-ga)

  • Kas see skeem koos HSTS-iga töötab koos aadressil Global.asax kodeeritud ümbersuunamisreeglitega (suht toru)?
  • Ma saan aru, et me peame edastama kogu saidi sisu, mida kasutatakse lehtede renderdamiseks HTTPS-i kaudu (css, javascript, pildid), kuid miks peame HTTPS-i kasutama spetsiaalsete tekstiallikate jaoks, nagu robots.txt ja sitemap.xml, mida loevad otsingumootorite robotid ainult? Võiksime soovida, et meie veebisaidil hostitaks ressursse, mida teised kasutajad saavad alla laadida spetsiaalsete salajaste HTTP-linkidega, mis pole üldsusele kättesaadavad.Miks peame neid pakkuma ainult HTTPS-i kaudu?
  • @TecMan Ärge muutke seda enda jaoks keeruliseks, pange kogu ümbersuunamisloogika ühte kohta: faili web.config, välja arvatud juhul, kui vajate ümbersuunamiste genereerimiseks automaatset viisi.
  • @TecMan Mis põhjusel peate HTTP kasutamist põhjendama? See on nagu oma ukse lukustamine, kuid akna lahti hoidmine.
  • 1) Google näeb HTTP ja HTTPS URL-e kui kahte erinevat saiti; 2) Teete enda jaoks raskeks, luues ümbersuunamisreeglitest erandid; 3) Küpsised on nähtavad turvamata ühenduse kohal, mis võib turvalisust kahjustada ja ma tundsin ilmselt veel paljusid muid turbeprobleeme.

none: Charles Robertson | none