Tässä postauksessa aion jakaa kanssasi kuinka voit luoda oman mukautetun verkkotunnuksen URL-lyhentimen Cloudflare Workersin avulla. Oletpa sitten verkkokehittäjä, joka haluaa lisätä vyöllesi uuden työkalun, yrityksen omistaja, joka haluaa brändätä linkkesi ilman kovaa hintalappua, tai vain joku, joka rakastaa verkkoteknologioiden puuhailua, tämä vaiheittainen opas on tarkoitettu sinä.
Verkkokehittäjänä ja tekniikan ystävänä olen aina ollut kiinnostunut pienistä asioista, jotka tekevät internetistä tehokkaamman ja käyttäjäystävällisemmän. Eräänä päivänä jakaessani erityisen pitkän ja raskaan URL-osoitteen kollegani kanssa huomasin kaipaavani yksinkertaista, yksilöllistä tapaa lyhentää linkkejä. Toki URL-osoitteiden lyhennyspalveluita on paljon, mutta halusin jotain, joka tuntui enemmän "minulta" – jotain, jota voisin muokata ja hallita.
Silloin törmäsin ajatukseen oman mukautetun URL-lyhentimen luomisesta Cloudflare Workersin avulla. Se oli kuin piilotetun aarteen löytäminen laajasta verkkoteknologioiden merestä. En vain voinut lyhentää URL-osoitteita, vaan voin tehdä sen omalla verkkotunnuksellani ilmaiseksi! Tämän löydön jännitys muistutti minua ensimmäisen kerran, kun otin käyttöön verkkosivuston – se voimaantumisen ja loputtomien mahdollisuuksien kiire.
Tästä löydöstä teki vielä jännittävämmän sen ymmärtäminen, että se voisi toimia loistavana, maksuttomana vaihtoehdona suosituille palveluille, kuten Bit.ly tai TinyURL, luomaan merkkilinkkejä mukautettuun verkkotunnukseen. Monet yritykset ja yksityishenkilöt maksavat hyvää rahaa tällaisesta toiminnasta, mutta tässä on tapa saavuttaa sama tulos ilman penniäkään.
Vaihe 1: Rekisteröi verkkotunnus (käytä lyhyttä verkkotunnusta)
Ensimmäinen vaihe mukautetun URL-lyhentimen luomisessa on verkkotunnuksen rekisteröinti. Tämä on merkkituotteiden lyhyiden linkkien perusta, joten valitse viisaasti!
Tässä on muutamia vinkkejä, joiden avulla voit valita täydellisen verkkotunnuksen:
- Pidä se lyhyt: URL-lyhentimen tarkoitus on luoda ytimekkäitä linkkejä. Etsi verkkotunnuksia, joissa on 3-5 merkkiä, jos mahdollista. Tämä voi olla lyhenne, lyhenne tai tarttuva sana.
- Tee siitä ikimuistoinen: Valitse jotain, joka on helppo muistaa ja kirjoittaa. Tämä helpottaa sinun ja muiden lyhennettyjen linkkien käyttöä.
- Harkitse brändiäsi: Jos käytät tätä yritys- tai henkilökohtaiseen brändiin, yritä kohdistaa verkkotunnus nykyiseen brändi-identiteettiisi.
- Tarkista saatavuus: Lyhyillä, tarttuvilla verkkotunnuksilla on suuri kysyntä. Sinun on ehkä oltava luova tai harkittava vaihtoehtoisia ylätason verkkotunnuksia (TLD), kuten .io, .co tai .me, jos ensimmäinen vaihtoehtosi ei ole käytettävissä.
- Ajattele TLD:tä: Vaikka .com on suosittu, älä pelkää muita TLD:itä. Jotkut, kuten .link tai .click, voivat sopia erityisen hyvin URL-osoitteen lyhentäjäksi.
Tässä on muutamia esimerkkejä inspiroimaan sinua:
- abc.link
- go.io
- shrt.co
- zap.me
Kun olet valinnut verkkotunnuksesi, sinun on ostettava se verkkotunnusten rekisteröijältä. Joitakin suosittuja vaihtoehtoja ovat:
- Namecheap
- GoDaddy
- CloudFlare (Suositus – mikä on myös erittäin kätevää, koska käytämme Cloudflare Workersia)
Muista, että vaikka verkkotunnus maksaa rahaa, se on kertaostos vuodessa, ja loput URL-osoitteiden lyhentäjän asetuksista ovat ilmaisia Cloudflare Workersin avulla.
Ammattilaisen vinkki: Varmista ennen oston viimeistelyä, ettei verkkotunnusta ole liitetty roskapostiin tai haitalliseen toimintaan. Voit tarkistaa sen historian käyttämällä työkaluja, kuten Domain Tools tai Wayback Machine.
Kun kiiltävä uusi verkkotunnuksesi on käsissäsi, olet valmis siirtymään seuraavaan vaiheeseen: Cloudflaren määrittämiseen verkkotunnuksellesi. Mutta käsittelemme sitä seuraavassa osiossa.
Vaihe 2: Määritä DNS-tietueet verkkotunnuksellesi
Nyt kun sinulla on verkkotunnuksesi, on aika määrittää DNS-määritys. Tämä vaihe on ratkaisevan tärkeä sen varmistamiseksi, että Cloudflare Workers toimii oikein äskettäin rekisteröidyn verkkotunnuksesi kanssa.
Käydään läpi prosessi:
1. Lisää verkkotunnuksesi Cloudflareen
- Jos et ole jo tehnyt niin, luo ilmainen Cloudflare-tili.
- Napsauta Cloudflare-hallintapaneelissasi Lisää sivusto ja anna verkkotunnuksesi nimi.
- Cloudflare etsii olemassa olevia DNS-tietueita. Poista kaikki sen löytämät tietueet (ellet käytä verkkotunnusta myös sähköpostiin tai muihin tärkeisiin palveluihin, jolloin säilytä ne).
2. Päivitä nimipalvelimet (Ohita tämä vaihe, jos verkkotunnuksesi on rekisteröity Cloudflareen)
- Cloudflare tarjoaa sinulle joukon nimipalvelimia.
- Siirry verkkotunnuksesi rekisteröijän verkkosivustolle ja korvaa olemassa olevat nimipalvelimet Cloudflaren tarjoamilla nimipalvelimilla.
- Tämän vaiheen leviäminen maailmanlaajuisesti voi kestää jopa 24 tuntia.
3. Määritä DNS-tietueet
- Lisäämme Cloudflare DNS -asetuksiin kaksi uutta A-tietuetta.
- Lisää seuraava:
Tyyppi: A
Nimi: @
Sisältö: 192.0.2.1
TTL: auto
Välityspalvelimen tila: Välityspalvelin (oranssi pilvi - erittäin tärkeä)
Tyyppi: A
Nimi: www
Sisältö: 192.0.2.1
TTL: auto
Välityspalvelimen tila: Välityspalvelin (oranssi pilvi - erittäin tärkeä)
Tämä 192.0.2.1 IP on erityinen "tyhjennä" osoite. Se on varattu dokumentointia ja testausta varten, mikä tekee siitä täydellisen tarpeisiimme.
4. Ota Cloudflare-välityspalvelin käyttöön
- Varmista, että välityspalvelimen tila (oranssi pilvikuvake) on käytössä DNS-tietueessa.
- Tämän ansiosta Cloudflare voi välittää liikennettäsi ja se on välttämätöntä Cloudflare Workersin toiminnan kannalta.
5. Tarkista asetukset
- Kun nimipalvelimen muutos on levinnyt, Cloudflare näyttää verkkotunnuksesi aktiivisena.
- Voit tarkistaa tämän Cloudflaren hallintapaneelista.
Tärkeintä tässä on, että emme osoita verkkotunnustasi mihinkään todelliseen verkkopalveluun. 192.0.2.1-osoite on vain paikkamerkki. Cloudflare Worker, jonka määritämme seuraavaksi, sieppaa kaikki pyynnöt verkkotunnuksellesi ja käsittelee URL-osoitteen lyhennyslogiikan.
Ammattilaisen vinkki: Tämä asetus tarkoittaa, että sinun ei tarvitse maksaa tai hallinnoida verkkopalvelua. Cloudflare Workers hoitaa kaikki raskaat nostot, joten tämä ratkaisu ei ole vain ilmainen, vaan myös uskomattoman kevyt ja helppo huoltaa.
Kun DNS on määritetty oikein, olet nyt valmis siirtymään jännittävään osaan – Cloudflare Workerin määrittämiseen käsittelemään URL-osoitteiden lyhentämistä.
Vaihe 3: Luo Cloudflare Worker
Nyt kun verkkotunnuksemme on määritetty Cloudflaressa, on aika luoda työntekijä, joka käsittelee uudelleenohjaukset. Cloudflare Workers tarjoaa palvelimettoman suoritusympäristön, jonka avulla voimme suorittaa koodimme reunalla, lähellä käyttäjiämme optimaalisen suorituskyvyn saavuttamiseksi.
1. Luo Cloudflare Worker
- Työntekijöiden osioon pääseminen:
- Kirjaudu Cloudflare-hallintapaneeliisi.
- Siirry sivupalkista Työntekijät-osioon.
- Napsauta "Luo palvelu", jos tämä on ensimmäinen työntekijäsi, tai "Luo työntekijä", jos sinulla on jo olemassa olevia työntekijöitä.
- Nimeä työntekijäsi:
- Valitse työntekijällesi kuvaava nimi, kuten "bulk-redirects-handler".
- Napsauta "Luo palvelu" jatkaaksesi editoriin.
- Worker Scriptin kirjoittaminen:
- Korvaa oletuskoodi editorissa uudelleenohjauskäsittelijän komentosarjalla:
vie oletus {
async fetch(request) {
const redirectMap = uusi kartta([
["google", "https://www.google.com?subId1=google"],
["bing", "https://www.bing.com?subId1=bing"],
// Lisää uudelleenohjauksia tähän tarpeen mukaan
])?
const url = uusi URL-osoite(pyyntö.url);
console.log("Täydellinen URL-osoite:", url.toString());
console.log("Isäntänimi:", url.isäntänimi);
console.log("Polkunnimi:", url.polkunimi);
anna polku = url.polkunimi.LowerCase().replace(/^\//,'').split('/')[0];
if (url.hostname.includes('workers.dev')) {
polku = url.polkunimi.LowerCase().replace(/^\//, '').split('/')[1] || '';
}
console.log("Käsitelty polku:", polku);
const sijainti = redirectMap.get(polku);
console.log("Ohjaa sijainti:", sijainti);
// Muuta arvoon 301 pysyvää uudelleenohjausta varten
if (sijainti) {
return Response.redirect(sijainti, 302);
}
// Jos pyyntöä ei ole kartalla, palauta 404 tai haluamasi vara
return new Response(`Ei löydy: ${polku}`, { status: 404 });
},
};
- Käsikirjoituksen ymmärtäminen:
- Määritämme a redirectMap joka sisältää lyhyet polkumme ja niitä vastaavat täydelliset URL-osoitteet.
["google", "https://www.google.com?subId1=google"],
yourshorturl.com/google ohjaa osoitteeseen -> https://www.google.com?subId1=google
["bing", "https://www.bing.com?subId1=bing"],
yourshorturl.com/bing uudelleenohjaa osoitteeseen -> https://www.bing.com?subId1=bing
- Komentosarja käsittelee saapuvat pyynnöt, poimii polun ja tarkistaa, vastaako se jotakin määrittämistämme uudelleenohjauksista.
- Jos osuma löytyy, se palauttaa 302:n (Temporary Redirect) vastaavaan URL-osoitteeseen.
- Jos vastaavuutta ei löydy, se palauttaa 404 Ei löydy -vastauksen.
- Työntekijän testaus:
- Käytä "Pikamuokkaus"-ominaisuutta Cloudflare-hallintapaneelissa tehdäksesi muutoksia ja testataksesi työntekijääsi.
- Voit käyttää toimitettua HTTP-testaustyökalua simuloidaksesi pyyntöjä ja nähdäksesi, miten työntekijäsi vastaa.
- Työntekijän käyttöönotto:
- Kun olet tyytyväinen testeihisi, napsauta "Tallenna ja ota käyttöön", jotta työntekijäsi tulee käyttöön.
- Työntekijöiden reittien määrittäminen:
- Siirry käyttöönoton jälkeen työntekijäsi "Triggerit"-välilehdelle.
- Lisää verkkotunnustasi vastaava reitti, esim *recommends.link/*.
- Näin varmistetaan, että tämä työntekijä käsittelee kaikki verkkotunnuksellesi tulevat pyynnöt.
- Asennuksen tarkistaminen:
- Kokeile käyttää muutamia uudelleenohjauspolkujasi (esim. https://recommends.link/url-shortener-guide) varmistaaksesi, että ne toimivat odotetulla tavalla.
- Tarkista Cloudflare-hallintapaneelin Workers Logs nähdäksesi konsolin tulos ja varmistaaksesi, että polut käsitellään oikein.
Vaihe 4: Lisää mukautuksia (valinnainen)
Dynaamiset uudelleenohjaukset Cloudflare KV:n avulla
Jotta uudelleenohjausjärjestelmästämme tulisi joustavampi ja helpompi hallita, voimme käyttää Cloudflare KV (Key-Value) -tallennustilaa uudelleenohjauksidemme tallentamiseen:
Luo KV-nimiavaruus:
- Siirry Cloudflare-hallintapaneelissa kohtaan Työntekijät > KV. Napsauta "Luo nimitila" ja anna sille nimi (esim. "REDIRECT_MAP").
- Siirry työntekijäsi asetuksiin. Lisää uusi sidos kohdassa "KV Namespace Bindings". Valitse KV-nimiavaruutesi ja anna sille muuttujan nimi (esim. REDIRECTS).
vie oletus {
async fetch(request, env) {
const url = uusi URL-osoite(pyyntö.url);
const polku = url.polkunimi.LowerCase().replace(/^\//,'').split('/')[0];
const sijainti = odota env.REDIRECTS.get(polku);
if (sijainti) {
return Response.redirect(sijainti, 301);
}
return new Response(`Ei löydy: ${polku}`, { status: 404 });
},
};
Voit nyt lisätä, päivittää tai poistaa uudelleenohjauksia muokkaamalla KV-kauppaa muuttamatta Worker-koodia.
Parametriset uudelleenohjaukset
Salli dynaamiset parametrit uudelleenohjauksissasi:
vie oletus {
async fetch(request, env) {
const url = uusi URL-osoite(pyyntö.url);
const [polku, ...params] = url.polkunimi.LowerCase().replace(/^\//,'').split('/');
anna sijainti = odota env.REDIRECTS.get(polku);
if (sijainti) {
// Korvaa paikkamerkit todellisilla parametreilla
params.forEach((param, index) => {
sijainti = sijainti.korvaa(`{${index}}`, param);
});
return Response.redirect(sijainti, 301);
}
return new Response(`Ei löydy: ${polku}`, { status: 404 });
},
};
Tällä asetuksella voit saada KV-merkinnän, kuten "product" : "https://mystore.com/item/{0}/details" ja käyttää sitä yourshortlink.com/product/12345.
Napsauta Seuranta ja Analytics
Ota perusanalytiikka käyttöön kirjaamalla uudelleenohjaustapahtumat:
vie oletus {
async fetch(request, env) {
const url = uusi URL-osoite(pyyntö.url);
const polku = url.polkunimi.LowerCase().replace(/^\//,'').split('/')[0];
const sijainti = odota env.REDIRECTS.get(polku);
if (sijainti) {
// Kirjaa uudelleenohjaustapahtuma
odota env.REDIRECTS.put(`${path}_clicks`, (parseInt(odota env.REDIRECTS.get(`${polku}_clicks`) || '0') + 1).toString());
return Response.redirect(sijainti, 301);
}
return new Response(`Ei löydy: ${polku}`, { status: 404 });
},
};
Mukautetut virhesivut
Pelkän tekstin 404-vastauksen sijaan palauta muokattu HTML-sivu:
const notFoundPage = `
Linkkiä ei löydy
body { font-family: Arial, sans-serif; tekstin tasaus: keskellä; täyte-top: 50px; }
Oho! Linkkiä ei löydy
Etsimääsi lyhyttä linkkiä ei ole olemassa.
`;
// Hakufunktiossasi:
return new Response(notFoundPage, {
tila: 404,
otsikot: { 'Content-Type': 'text/html' }
});
nopeutta rajoittava
Ota peruskorkorajoitus käyttöön väärinkäytön estämiseksi:
vie oletus {
async fetch(request, env) {
const ip = request.headers.get('CF-Connecting-IP');
const rateLimitKey = `ratelimit:${ip}`;
const currentRequests = parseInt(wait env.REDIRECTS.get(rateLimitKey) || '0');
if (currentRequests > 100) { // 100 pyyntöä minuutissa
return new Response('Rate limited', { status: 429 });
}
odota env.REDIRECTS.put(rateLimitKey, (currentRequests + 1).toString(), {expirationTtl: 60});
// Loput uudelleenohjauslogiikkastasi tässä
},
};
/ B-testaus
Ota käyttöön yksinkertainen A/B-testaus uudelleenohjauksille:
vie oletus {
async fetch(request, env) {
const url = uusi URL-osoite(pyyntö.url);
const polku = url.polkunimi.LowerCase().replace(/^\//,'').split('/')[0];
const locationA = odota env.REDIRECTS.get(`${polku}_A`);
const sijaintiB = odota env.REDIRECTS.get(`${polku}_B`);
if (sijaintiA && sijaintiB) {
const sijainti = Math.random() < 0.5 ? sijaintiA: sijaintiB;
return Response.redirect(sijainti, 301);
}
// Takaisin normaaliin uudelleenohjaukseen, jos A/B-testiä ei ole määritetty
const sijainti = odota env.REDIRECTS.get(polku);
if (sijainti) {
return Response.redirect(sijainti, 301);
}
return new Response(`Ei löydy: ${polku}`, { status: 404 });
},
};
Nämä mukautukset ja laajennukset lisäävät joukkouudelleenohjausjärjestelmääsi merkittäviä toimintoja tehden siitä joustavamman, tehokkaamman ja informatiivisemman. Jokaista näistä ominaisuuksista voidaan jalostaa ja laajentaa erityistarpeidesi ja käyttötapaustesi mukaan.
Yhteenveto: Mukautetun linkin lyhentimen luominen Cloudflare Workersin kanssa
Tässä blogiviestissä olemme tutkineet, kuinka luoda tehokas ja joustava mukautettu URL-osoitteiden lyhennös Cloudflare Workersin avulla. Tämä ratkaisu tarjoaa ilmaisen ja tehokkaan tavan luoda lyhyitä linkkejä laajassa mittakaavassa.
TL; DR:
- Cloudflare Workers tarjoaa palvelimettoman alustan mukautetun uudelleenohjauslogiikan toteuttamiseen globaalilla jakelulla ja alhaisella latenssilla.
- Oikea DNS-määritys ja Worker Routes -asetukset ovat ratkaisevan tärkeitä mukautetun toimialueen yhdistämisessä Workeriin.
- Yksinkertainen JavaScript-pohjainen työntekijä voi käsitellä monimutkaisia uudelleenohjausskenaarioita tehokkaasti.
- Cloudflaren Key-Value (KV) -tallennustilaa voidaan hyödyntää dynaamisten, helposti hallittavien uudelleenohjauskarttojen luomiseen.
- Edistyneitä ominaisuuksia, kuten parametroidut uudelleenohjaukset, napsautusten seuranta, mukautetut virhesivut, nopeuden rajoitus ja A/B-testaus, voidaan ottaa käyttöön Worker-ekosysteemissä.
- Tämä järjestelmä tarjoaa merkittäviä etuja perinteisiin verrattuna uudelleenohjausmenetelmiä, mukaan lukien parannettu suorituskyky, helpompi hallinta ja parannettu joustavuus.
Rakentamamme ratkaisu tarjoaa useita etuja:
- skaalautuvuus: Käsittelee miljoonia uudelleenohjauksia ilman suorituskyvyn heikkenemistä.
- Joustavuus: Lisää, muokkaa tai poista uudelleenohjauksia helposti muuttamatta ydinlogiikkaa.
- Suorituskyky: Hyödynnä Cloudflaren maailmanlaajuista verkostoa nopeaan uudelleenohjaukseen maailmanlaajuisesti.
- Räätälöinti: Mahdollistaa lisäominaisuudet, kuten analytiikan ja A/B-testauksen.
- Kustannustehokkuus: Käyttää palvelimetonta arkkitehtuuria, mikä saattaa vähentää isännöintikustannuksia.
- Ilmainen vaihtoehto suosittuihin palveluihin, kuten Bit.ly tai Yourls brändättyjen lyhyiden linkkien luomiseen mukautettuun verkkotunnukseen.
Nyt kun ymmärrät tämän Cloudflare Worker -pohjaisen uudelleenohjausjärjestelmän tehon ja joustavuuden, on aika ottaa se käyttöön:
- Jos et ole vielä tehnyt, rekisteröi Cloudflare-tili ja tutustu Workers-alustaan.
- Ota tämä järjestelmä käyttöön omille brändätyille lyhyille linkeillesi tai joukkouudelleenohjauksille.
- Kokeile keskustelemiamme lisäominaisuuksia räätälöidäksesi järjestelmän tarpeidesi mukaan.
- Jaa kokemuksesi tai kysy kysymyksiä alla olevassa kommenttiosiossa. Näkemyksesi voi auttaa muita yhteisön jäseniä!
- Jos tarvitset edistyneempiä käyttötapauksia tai mukautettuja toteutuksia, ota yhteyttä Cloudflare Workers -asiantuntijaan tai konsultointipalveluun.
Pysy utelias, jatka oppimista ja älä epäröi ylittää rajoja, mikä on mahdollista Cloudflare Workersin kaltaisilla työkaluilla.