Sisesta brauserisse hostinimi ja skeem määrab sihtpordi: 80 http jaoks, 443 https jaoks. Miski DNS-vastuses ei tühista seda, ja ükski suunamisreegel sinu masinas ei saa teenusepakkuja servas kuulajat leiutada. Kui VPN-i pakkuja annab sulle kõrge avaliku pordi nagu 45000, töötab selgesõnaline URL ja puhas mitte. Lünk on sisendpunktis, mitte rakenduse sees.

Käi tee brauserist protsessini üks kord läbi ja kolm avaldamisvalikut lakkavad tundmast salapärased.

Vaata, kuhu päring tegelikult läheb

Brauser lahendab nime aadressiks ja loob seejärel ühenduse selle aadressiga skeemi vaikepordil, kui URL ei nimeta teist. Sinu teenusepakkuja serv otsustab, mis saabuvast ühendusest saab. Kui selle edastustabel kaardistab sinu siseaadressile ainult 45000, ei ole ühendusel pordile 80 kuhugi minna ja see lükatakse tagasi või visatakse ära enne, kui sinu masin üldse osaleb.

See tagasilükkamine toimub servas, seepärast ei näita sinu rakenduse logid üldse midagi. Logide puudumine on tõend selle kohta, kuhu pakett peatus, mitte tõend, et rakendus on katki.

Miks kohalik reegel ei saa serva parandada

Ümbersuunamine või DNAT-reegel rakenduse hostis mõjutab pakette, mis on juba saabunud. Paketid, mis saadetakse teenusepakkuja juures pordile 80, ei saabu kunagi, seega reeglit ei hinnata kunagi. See on kogu probleemi kõige tavalisem raisatud tund.

Ka DNS ei saa porti kanda. HTTP spetsifikatsioon määratleb skeemi vaikeväärtused ning A- või AAAA-kirje tagastab aadressi, samas kui CNAME tagastab teise nime. Brauser liidab ikkagi skeemi pordi, seega muudab sihti ainult selgesõnaline port URL-is.

Valik üks: jäta selgesõnaline port alles

Sageli on õige vastus see, mis pole hiilgav. Avalda täis-URL koos pordiga, lõpeta TLS sisendis, mis seda toetab, ja veendu, et iga genereeritud link hoiab sama päritolu. Väikese, kontrollitud publikule on see täielik ja see ei maksa midagi peale nähtava pordinumbri.

Kontrolli ümbersuunamisi ja küpsiste ulatust, kuni sa seal oled, sest backend, mis kirjutab oma hostinime Location-päisesse, teeb korralduse olematuks.

Valik kaks: hanki tõeline vaikepordi sisend

Mõned teenusepakkujad ja majutuslahendused edastavad 80 ja 443 jagatud või pühendatud aadressil dokumenteeritud teenusena. Küsi, mis tegelikult sisaldub, selle asemel et eeldada, et avalik väljumisaadress tähendab suvalisi sissetulevaid porte. Pühendatud väljumisaadress ei ütle sissetuleva edastamise kohta midagi.

Kinnita omandiõigus ja kättesaadavus kirjalikult, sealhulgas see, mis juhtub sisendiga, kui tunnel loobub teise aadressiga uuesti ühendust. Tunneliga kaasa liikuv sisend tekitab katkestusi, mis näevad välja nagu DNS-tõrked.

Valik kolm: aseta ette frontend

Pöördpuhverserver kättesaadaval aadressil saab kuulata pordil 443 ja lõpetada TLS ja avada eraldi ühenduse backendiga üle VPN-i. Külastajad näevad frontendi nime ja vaikeporti, samas kui frontend räägib sinu nimel backendi kõrge pordiga. See toimib, sest muudab arhitektuuri, selle asemel et sisendpunktiga võidelda. Backend ei vaja siis avalikus internetis üldse sissetulevat porti.

See muudab ka seda, mida sa haldad. Frontend omab avalikku TLS-i, juurdepääsupoliitikat, logisid ja kättesaadavust ning peab piirama backendi valiku kavandatud teenusega. Kui hüpe frontendist backendini kasutab HTTPS-i, hoia sertifikaadi valideerimine sellel hüppel.

Hoia üks päritolu

Frontendi avalik hostinimi, skeem ja port moodustavad päritolu, mida külastajad kasutavad, seega seadista rakenduse väline URL, ümbersuunamised ja küpsised selle päritolu jaoks. Saada algne host ja edastatud skeem, kui rakendus ehitab absoluutseid linke. Vastus, mis saadab kasutajad tagasi privaatsele nimele või kõrgele pordile, teeb olematuks puhta sisendi, mille just ehitasid.

Seejärel otsusta publikut silmas pidades. Lühike URL võib õigustada hallatavat frontendi ja ei tasu kogemata muuta privaatset ainult VPN-i teenust avalikuks.

Seotud artiklid