Luo ilmainen mukautetun verkkotunnuksen URL-osoitteiden lyhentäjä (Cloudflare Workersin kanssa)

in Resurssit ja työkalut

Sisältömme on lukijatukea. Jos napsautat linkkejämme, voimme ansaita palkkion. Kuinka tarkastelemme.

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:

    1. 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.
    2. Tee siitä ikimuistoinen: Valitse jotain, joka on helppo muistaa ja kirjoittaa. Tämä helpottaa sinun ja muiden lyhennettyjen linkkien käyttöä.
    3. Harkitse brändiäsi: Jos käytät tätä yritys- tai henkilökohtaiseen brändiin, yritä kohdistaa verkkotunnus nykyiseen brändi-identiteettiisi.
    4. 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ä.
    5. 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.

    CloudFlare

    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-nimipalvelimet
        • 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

        Cloudflare DNS-hallinta
        • 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:
          cloudflare työntekijän reitti
          • 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").
          Sido KV-nimiavaruus työntekijääsi:
          • Siirry työntekijäsi asetuksiin. Lisää uusi sidos kohdassa "KV Namespace Bindings". Valitse KV-nimiavaruutesi ja anna sille muuttujan nimi (esim. REDIRECTS).
          Muokkaa Worker-skriptiä käyttämään KV:ta:

             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.

                    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:

                    1. Cloudflare Workers tarjoaa palvelimettoman alustan mukautetun uudelleenohjauslogiikan toteuttamiseen globaalilla jakelulla ja alhaisella latenssilla.
                    2. Oikea DNS-määritys ja Worker Routes -asetukset ovat ratkaisevan tärkeitä mukautetun toimialueen yhdistämisessä Workeriin.
                    3. Yksinkertainen JavaScript-pohjainen työntekijä voi käsitellä monimutkaisia ​​uudelleenohjausskenaarioita tehokkaasti.
                    4. Cloudflaren Key-Value (KV) -tallennustilaa voidaan hyödyntää dynaamisten, helposti hallittavien uudelleenohjauskarttojen luomiseen.
                    5. Edistyneitä ominaisuuksia, kuten parametroidut uudelleenohjaukset, napsautusten seuranta, mukautetut virhesivut, nopeuden rajoitus ja A/B-testaus, voidaan ottaa käyttöön Worker-ekosysteemissä.
                    6. 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:

                    1. Jos et ole vielä tehnyt, rekisteröi Cloudflare-tili ja tutustu Workers-alustaan.
                    2. Ota tämä järjestelmä käyttöön omille brändätyille lyhyille linkeillesi tai joukkouudelleenohjauksille.
                    3. Kokeile keskustelemiamme lisäominaisuuksia räätälöidäksesi järjestelmän tarpeidesi mukaan.
                    4. Jaa kokemuksesi tai kysy kysymyksiä alla olevassa kommenttiosiossa. Näkemyksesi voi auttaa muita yhteisön jäseniä!
                    5. 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.

                    Author

                    Matt Ahlgren

                    Mathias Ahlgren on toimitusjohtaja ja perustaja Website Rating, joka ohjaa maailmanlaajuista toimittajien ja kirjoittajien tiimiä. Hän on koulutukseltaan tietotieteen ja johtamisen maisteri. Hänen uransa kääntyi hakukoneoptimointiin yliopiston aikaisten verkkokehityskokemusten jälkeen. Yli 15 vuotta hakukoneoptimoinnin, digitaalisen markkinoinnin ja verkkokehittäjien parissa. Hänen painopisteensä sisältää myös verkkosivustojen turvallisuuden, josta todisteena on kyberturvallisuussertifikaatti. Tämä monipuolinen asiantuntemus tukee hänen johtajuutta Website Rating.

                    Etusivu » Resurssit ja työkalut » Luo ilmainen mukautetun verkkotunnuksen URL-osoitteiden lyhentäjä (Cloudflare Workersin kanssa)
                    Jakaa...