Selles postituses jagan teiega kuidas saate Cloudflare Workersi abil luua oma kohandatud domeeni URL-i lühendaja. Ükskõik, kas olete veebiarendaja, kes soovib oma turvavööle lisada veel ühe tööriista, ettevõtte omanik, kes soovib teie linke ilma kopsaka hinnasildita brändida, või lihtsalt keegi, kellele meeldib veebitehnoloogiatega nokitseda, on see samm-sammuline juhend sina.
Veebiarendaja ja tehnikahuvilisena on mind alati paelunud pisiasjad, mis muudavad interneti tõhusamaks ja kasutajasõbralikumaks. Ühel päeval kolleegiga eriti pikka ja kohmakat URL-i jagades avastasin end soovimas lihtsat ja isikupärastatud viisi linkide lühendamiseks. Muidugi on seal palju URL-i lühendamisteenuseid, kuid ma tahtsin midagi, mis tunneks rohkem "mina" – midagi, mida saaksin kohandada ja juhtida.
Siis komistasin ideele luua Cloudflare Workersi abil oma kohandatud URL-i lühendaja. See oli nagu peidetud varanduse leidmine tohutust veebitehnoloogiate merest. Ma ei saanud mitte ainult URL-e lühendada, vaid saaksin seda tasuta teha oma domeeninimega! Selle avastuse põnevus tuletas mulle meelde esimest korda, kui ma veebisaidi kasutusele võtsin – seda jõustamise ja lõputute võimaluste hoogu.
Selle avastuse tegi veelgi põnevamaks mõistmine, et see võib olla fantastiline tasuta alternatiiv populaarsetele teenustele, nagu Bit.ly või TinyURL, et luua kohandatud domeenil kaubamärgiga lühikesi linke. Paljud ettevõtted ja eraisikud maksavad seda tüüpi funktsioonide eest head raha, kuid siin on viis, kuidas saavutada sama tulemus ilma peenraha kulutamata.
1. samm: registreerige domeeninimi (kasutage lühikest domeeni)
Kohandatud URL-i lühendaja loomise esimene samm on domeeninime registreerimine. See on teie kaubamärgiga lühikeste linkide alus, nii et valige targalt!
Siin on mõned näpunäited, mis aitavad teil valida ideaalse domeeni:
- Hoidke see lühike: URL-i lühendamise mõte on luua sisutihedaid linke. Võimalusel otsige 3-5 tähemärgist koosnevaid domeeninimesid. See võib olla lühend, akronüüm või meeldejääv sõna.
- Tee see meeldejäävaks: valige midagi, mida on lihtne meelde jätta ja sisestada. See muudab teie ja teiste jaoks teie lühendatud linkide kasutamise lihtsamaks.
- Kaaluge oma kaubamärki: kui kasutate seda äri- või isikliku kaubamärgi jaoks, proovige domeen joondada oma olemasoleva brändiidentiteediga.
- Kontrollige saadavust: lühikeste meeldejäävate domeenide järele on suur nõudlus. Kui teie esimene valik pole saadaval, peate võib-olla olema loominguline või kaaluma alternatiivseid tippdomeene (TLD-sid), nagu .io, .co või .me.
- Mõelge tippdomeenile: Kuigi .com on populaarne, ärge hoiduge teiste tippdomeenide ees. Mõned, näiteks .link või .click, võivad URL-i lühendamiseks eriti sobida.
Siin on mõned näited, mis teid inspireerivad:
- abc.link
- go.io
- shrt.co
- zap.me
Kui olete oma domeeni valinud, peate selle domeeniregistripidajalt ostma. Mõned populaarsed valikud hõlmavad järgmist:
- namecheap
- GoDaddy
- CloudFlare (Soovitatav – mis on ka väga mugav, kuna kasutame Cloudflare Workersit)
Pidage meeles, et kuigi domeen maksab raha, on see ühekordne ost aastas ja ülejäänud URL-i lühendamise seadistamine on Cloudflare Workersi abil tasuta.
Professionaalide nõuanne. Enne ostu lõpuleviimist veenduge, et domeen poleks seotud rämpsposti ega pahatahtliku tegevusega. Saate vaadata selle ajalugu, kasutades selliseid tööriistu nagu Domain Tools või Wayback Machine.
Kui teie uus särav domeen käes, olete valmis liikuma järgmise sammu juurde: seadistama oma domeeni jaoks Cloudflare'i. Kuid me käsitleme seda järgmises jaotises.
2. samm: konfigureerige oma domeeni DNS-kirjed
Nüüd, kui teil on domeen, on aeg seadistada DNS-i konfiguratsioon. See samm on ülioluline tagamaks, et teie Cloudflare Workers töötab teie äsja registreeritud domeeniga õigesti.
Käime protsessi läbi:
1. Lisage oma domeen Cloudflare'i
- Kui te pole seda juba teinud, looge tasuta Cloudflare'i konto.
- Klõpsake oma Cloudflare'i armatuurlaual nuppu "Lisa sait" ja sisestage oma domeeninimi.
- Cloudflare otsib olemasolevaid DNS-kirjeid. Kustutage kõik leitud kirjed (välja arvatud juhul, kui kasutate domeeni ka e-posti või muude oluliste teenuste jaoks, sellisel juhul jätke need alles).
2. Värskendage nimeservereid (Ignoreerige seda sammu, kui teie domeen on registreeritud Cloudflare'is)
- Cloudflare pakub teile nimeserverite komplekti.
- Minge oma domeeni registripidaja veebisaidile ja asendage olemasolevad nimeserverid Cloudflare'i pakutavatega.
- Selle sammu ülemaailmseks levimiseks võib kuluda kuni 24 tundi.
3. Konfigureerige DNS-kirjed
- Teie Cloudflare'i DNS-i seadetes lisame kaks uut A-kirjet.
- Lisage järgmine tekst:
Type: A
Nimi: @
Sisu: 192.0.2.1
TTL: Auto
Puhverserveri olek: Vahendatud (oranž pilv – väga oluline)
Type: A
Nimi: www
Sisu: 192.0.2.1
TTL: Auto
Puhverserveri olek: Vahendatud (oranž pilv – väga oluline)
See 192.0.2.1 IP on spetsiaalne näiv aadress. See on reserveeritud dokumenteerimiseks ja testimiseks, mistõttu sobib see ideaalselt meie vajadustele.
4. Lubage Cloudflare'i puhverserver
- Veenduge, et puhverserveri olek (oranž pilveikoon) oleks teie DNS-kirje jaoks lubatud.
- See võimaldab Cloudflare'il teie liiklust puhverserveerida ja see on vajalik Cloudflare'i töötajate toimimiseks.
5. Kontrollige konfiguratsiooni
- Kui nimeserveri muudatus on levinud, kuvab Cloudflare teie domeeni kui "Aktiivne".
- Saate seda kontrollida Cloudflare'i armatuurlaual.
Peamine punkt on see, et me ei suuna teie domeeni ühelegi tegelikule veebimajutusteenusele. Aadress 192.0.2.1 on lihtsalt kohatäide. Teie Cloudflare Worker, mille me järgmisena seadistame, peatab kõik teie domeenile suunatud taotlused ja tegeleb URL-i lühendamise loogikaga.
Professionaalide nõuanne: see seadistus tähendab, et te ei pea veebimajutuse eest maksma ega haldama. Cloudflare Workers saavad hakkama kogu raskete tõstetöödega, muutes selle lahenduse mitte ainult tasuta, vaid ka uskumatult kergeks ja hõlpsasti hooldatavaks.
Kui teie DNS on õigesti konfigureeritud, olete nüüd valmis liikuma põneva osa juurde – seadistama oma Cloudflare Workeri URL-i lühendamisega tegelema.
3. samm: Cloudflare'i töötaja loomine
Nüüd, kui meie domeen on Cloudflare'is konfigureeritud, on aeg luua töötaja, kes meie ümbersuunamisi haldab. Cloudflare Workers pakuvad serverita täitmiskeskkonda, mis võimaldab meil optimaalse jõudluse tagamiseks käitada koodi äärel, kasutajate lähedal.
1. Looge Cloudflare'i töötaja
- Juurdepääs töötajate sektsioonile:
- Logige sisse oma Cloudflare'i armatuurlauale.
- Liikuge külgribal jaotisesse „Töötajad”.
- Klõpsake "Loo teenus", kui see on teie esimene töötaja, või "Loo töötaja", kui teil on juba töötajaid.
- Nimeta oma töötaja:
- Valige oma töötajale kirjeldav nimi, näiteks „hulgi-ümbersuunamiste-käsitleja”.
- Redaktorisse liikumiseks klõpsake "Loo teenus".
- Töötaja skripti kirjutamine:
- Asendage redaktoris vaikekood ümbersuunamistöötleja skriptiga:
ekspordi vaikimisi {
asünkroonne toomine(request) {
const redirectMap = new Map([
["google", "https://www.google.com?subId1=google"],
["bing", "https://www.bing.com?subId1=bing"],
// Lisage siia rohkem ümbersuunamisi vastavalt vajadusele
]);
const url = uus URL(request.url);
console.log("Täielik URL:", url.toString());
console.log("Hostinimi:", url.hostinimi);
console.log("Pathname:", url.pathname);
let path = url.pathname.toLowerCase().replace(/^\//, '').split('/')[0];
if (url.hostname.includes('workers.dev')) {
path = url.pathname.toLowerCase().replace(/^\//, '').split('/')[1] || '';
}
console.log("Töödeldud tee:", tee);
const asukoht = redirectMap.get(path);
console.log("Ümbersuunamiskoht:", asukoht);
// Püsiva ümbersuunamise jaoks muutke väärtuseks 301
if (asukoht) {
return Response.redirect(location, 302);
}
// Kui taotlust pole kaardil, tagastage 404 või eelistatud varu
return new Response(`Ei leitud: ${path}`, { staatus: 404 });
},
};
- Skripti mõistmine:
- Määratleme a redirectMap mis sisaldab meie lühikesi teid ja neile vastavaid täielikke URL-e.
["google", "https://www.google.com?subId1=google"],
yourshorturl.com/google suunab ümber aadressile -> https://www.google.com?subId1=google
["bing", "https://www.bing.com?subId1=bing"],
yourshorturl.com/bing suunab ümber aadressile -> https://www.bing.com?subId1=bing
- Skript töötleb sissetulevaid päringuid, eraldab tee ja kontrollib, kas see vastab mõnele meie määratletud ümbersuunamisele.
- Kui vaste leitakse, tagastab see vastavale URL-ile 302 (ajutine ümbersuunamine).
- Kui vastet ei leita, tagastab see vastuse 404 Ei leitud.
- Töötaja testimine:
- Kasutage muudatuste tegemiseks ja oma töötaja testimiseks Cloudflare'i armatuurlaua funktsiooni „Kiiredigeerimine”.
- Saate kasutada pakutavat HTTP-testimise tööriista, et simuleerida taotlusi ja vaadata, kuidas teie töötaja reageerib.
- Töötaja juurutamine:
- Kui olete oma testidega rahul, klõpsake oma töötaja aktiivseks muutmiseks nuppu Salvesta ja juurutage.
- Töötajate marsruutide seadistamine:
- Pärast juurutamist minge oma töötaja vahekaardile „Päästikud”.
- Lisage marsruut, mis vastab teie domeenile, nt *recommends.link/*.
- See tagab, et see töötaja käsitleb kõiki teie domeeni päringuid.
- Seadistuse kontrollimine:
- Proovige pääseda juurde mõnele ümbersuunamise teele (nt https://recommends.link/url-shortener-guide), et need toimiksid ootuspäraselt.
- Kontrollige oma Cloudflare'i armatuurlaual töötajate logisid, et näha konsooli väljundit ja kontrollida, kas teid töödeldakse õigesti.
4. samm: rohkem kohandusi (valikuline)
Dünaamilised ümbersuunamised Cloudflare KV-ga
Meie ümbersuunamissüsteemi paindlikumaks ja hõlpsamini hallatavaks muutmiseks saame kasutada ümbersuunamiste salvestamiseks Cloudflare KV (Key-Value) salvestusruumi.
Looge KV nimeruum:
- Avage oma Cloudflare'i armatuurlaual Töötajad > KV. Klõpsake valikul „Loo nimeruum” ja pange sellele nimi (nt „REDIRECT_MAP”).
- Avage oma Töötaja seaded. Lisage jaotisesse "KV nimeruumi sidumised" uus sidumine. Valige oma KV nimeruum ja andke sellele muutuja nimi (nt REDIRECTS).
ekspordi vaikimisi {
async fetch(request, env) {
const url = uus URL(request.url);
const path = url.pathname.toLowerCase().replace(/^\//, '').split('/')[0];
const asukoht = oota env.REDIRECTS.get(path);
if (asukoht) {
return Response.redirect(location, 301);
}
return new Response(`Ei leitud: ${path}`, { staatus: 404 });
},
};
Nüüd saate ümbersuunamisi lisada, värskendada või eemaldada, muutes KV poodi ilma töötaja koodi muutmata.
Parameetrilised ümbersuunamised
Lubage ümbersuunamistes dünaamilised parameetrid.
ekspordi vaikimisi {
async fetch(request, env) {
const url = uus URL(request.url);
const [tee, ...params] = url.teenimi.LowerCase().replace(/^\//, '').split('/');
lase asukoht = oota env.REDIRECTS.get(path);
if (asukoht) {
// Asendage kohahoidjad tegelike parameetritega
params.forEach((param, indeks) => {
asukoht = asukoht.asenda(`{${index}}`, param);
});
return Response.redirect(location, 301);
}
return new Response(`Ei leitud: ${path}`, { staatus: 404 });
},
};
Selle seadistuse korral võib teil olla KV kirje, näiteks „toode”: „https://mystore.com/item/{0}/details” ja kasutada seda kui yourshortlink.com/product/12345.
Klõpsake valikul Jälgimine ja analüüs
Rakendage põhianalüüsi ümbersuunamissündmuste logimise teel:
ekspordi vaikimisi {
async fetch(request, env) {
const url = uus URL(request.url);
const path = url.pathname.toLowerCase().replace(/^\//, '').split('/')[0];
const asukoht = oota env.REDIRECTS.get(path);
if (asukoht) {
// Ümbersuunamissündmuse logi
oodake env.REDIRECTS.put(`${path}_clicks`, (parseInt(oota env.REDIRECTS.get(`${path}_clicks`) || '0') + 1).toString());
return Response.redirect(location, 301);
}
return new Response(`Ei leitud: ${path}`, { staatus: 404 });
},
};
Kohandatud vealehed
Lihtteksti 404 vastuse asemel tagastage kohandatud HTML-leht:
const notFoundPage = `
Linki ei leitud
body { font-family: Arial, sans-serif; teksti joondamine: keskel; polsterdus ülaosa: 50px; }
Oih! Linki ei leitud
Lühilinki, mida otsite, pole olemas.
`;
// Teie toomisfunktsioonis:
return new Response(notFoundPage, {
olek: 404,
päised: { 'Content-Type': 'text/html' }
});
kiirust piirav
Kuritarvitamise vältimiseks rakendage põhimäära piiramist:
ekspordi vaikimisi {
async fetch(request, env) {
const ip = request.headers.get('CF-Connecting-IP');
const rateLimitKey = `ratelimit:${ip}`;
const currentRequests = parseInt(oota env.REDIRECTS.get(rateLimitKey) || '0');
if (currentRequests > 100) { // 100 päringut minutis
return new Response('Rate limit overed', { status: 429 });
}
oodake env.REDIRECTS.put(rateLimitKey, (currentRequests + 1).toString(), {expirationTtl: 60});
// Ülejäänud ümbersuunamisloogika siin
},
};
A / B testimine
Rakendage oma ümbersuunamiste jaoks lihtsat A/B testimist.
ekspordi vaikimisi {
async fetch(request, env) {
const url = uus URL(request.url);
const path = url.pathname.toLowerCase().replace(/^\//, '').split('/')[0];
const asukohtA = oodake env.REDIRECTS.get(`${path}_A`);
const asukohtB = oodake env.REDIRECTS.get(`${tee_B`);
if (asukohtA && asukohtB) {
const asukoht = Math.random() < 0.5 ? asukohtA : asukohtB;
return Response.redirect(location, 301);
}
// Kui A/B-testi pole seadistatud, naasta tavalisele ümbersuunamisele
const asukoht = oota env.REDIRECTS.get(path);
if (asukoht) {
return Response.redirect(location, 301);
}
return new Response(`Ei leitud: ${path}`, { staatus: 404 });
},
};
Need kohandused ja laiendused lisavad teie hulgisuunamissüsteemile märkimisväärseid funktsioone, muutes selle paindlikumaks, võimsamaks ja informatiivsemaks. Kõiki neid funktsioone saab teie konkreetsete vajaduste ja kasutusjuhtude põhjal veelgi täpsustada ja laiendada.
Kokkuvõte: kohandatud lingi lühendaja loomine Cloudflare'i töötajatega
Kogu selle ajaveebipostituse jooksul oleme uurinud, kuidas luua Cloudflare Workersi abil võimas ja paindlik kohandatud URL-i lühendaja. See lahendus pakub tasuta ja tõhusat lähenemisviisi mastaapsete lühikeste linkide loomiseks.
TL; DR:
- Cloudflare Workers pakub serverita platvormi kohandatud ümbersuunamisloogika rakendamiseks globaalse levitamise ja madala latentsusega.
- Õige DNS-i konfiguratsioon ja Worker Routes'i seadistamine on teie kohandatud domeeni ühendamisel töötajaga üliolulised.
- Lihtne JavaScriptil põhinev töötaja saab keerukate ümbersuunamisstsenaariumidega tõhusalt hakkama.
- Cloudflare'i võtmeväärtuse (KV) salvestusruumi saab kasutada dünaamiliste ja hõlpsasti hallatavate ümbersuunamiskaartide loomiseks.
- Töötajate ökosüsteemis saab rakendada täiustatud funktsioone, nagu parameetritega ümbersuunamised, klikkide jälgimine, kohandatud vealehed, määra piiramine ja A/B testimine.
- Sellel süsteemil on traditsioonilise ees märkimisväärsed eelised ümbersuunamismeetodid, sealhulgas parem jõudlus, lihtsam haldamine ja suurem paindlikkus.
Meie loodud lahendus pakub mitmeid eeliseid:
- Skaalautuvus: käsitleb miljoneid ümbersuunamisi ilma jõudluse halvenemiseta.
- Paindlikkus: saate hõlpsalt lisada, muuta või eemaldada ümbersuunamisi ilma põhiloogikat muutmata.
- jõudlus: kasutab Cloudflare'i ülemaailmset võrgustikku kiirete ümbersuunamiste jaoks kogu maailmas.
- Customization: võimaldab kasutada täiustatud funktsioone, nagu analüüs ja A/B testimine.
- Kulutõhususe: kasutab serverita arhitektuuri, mis võib potentsiaalselt vähendada hostimiskulusid.
- Tasuta alternatiiv populaarsetele teenustele, nagu Bit.ly või Sinu käes kaubamärgiga lühikeste linkide loomiseks kohandatud domeenis.
Nüüd, kui mõistate selle Cloudflare Workeril põhineva ümbersuunamissüsteemi võimsust ja paindlikkust, on aeg see kasutusele võtta.
- Kui te pole seda veel teinud, registreerige Cloudflare'i konto ja tutvuge Workersi platvormiga.
- Rakendage seda süsteemi oma kaubamärgiga lühikeste linkide või hulgisuunamiste jaoks.
- Katsetage täiustatud funktsioone, mida oleme arutanud, et kohandada süsteem vastavalt teie vajadustele.
- Jagage oma kogemusi või küsige küsimusi allolevas kommentaaride jaotises. Teie arusaamad võivad aidata teisi kogukonna liikmeid!
- Täpsemate kasutusjuhtude või kohandatud rakenduste jaoks võtke ühendust Cloudflare Workersi eksperdi või konsultatsiooniteenusega.
Olge uudishimulik, jätkake õppimist ja ärge kõhelge nihutamast piire, mis on võimalik selliste tööriistade nagu Cloudflare Workers abil.