Hyppää sisältöön

Puhdin ja Mahdin laskentapalvelut ovat poistuneet käytöstä. Puhdin ja Mahdin kirjautumisnoodit sekä tallennustila ovat saatavilla 15. lokakuuta 2026 asti, mutta ne eivät enää ole palvelusopimusten piirissä. Ryhdythän toimiin datan siirtämiseksi Roihuun välittömästi. Ohjeita löydät sivulta Roihun datan siirto-opas.

Perustaso

HTTP-uudelleenohjauksen määrittäminen Rahdissa on hyvin yksinkertaista käyttämällä verkkopalvelinta, kuten nginxiä. Voimme uudelleenohjata käytännössä mihin tahansa URL-osoitteeseen hyvinkin monimutkaisella logiikalla. Tässä ohjeessa pidämme asiat yksinkertaisina ja ohjaamme vain toiseen isäntänimeen säilyttäen URL-osoitteen polun.

Määritä HTTP-uudelleenohjaus Rahdissa

Menettely

  1. Ota käyttöön NGINX-image. Aloita napsauttamalla oikeassa yläkulmassa olevaa '+ Add' -painiketta ja valitse Container images -vaihtoehto.

    Quick create

  2. Tässä harjoituksessa on suositeltavaa käyttää imagea bitnami/nginx

    bitnami/nginx

  3. Lisää reitti siirtymällä kohtaan Networking -> Routes ja napsauttamalla Create Route. Käytä URL-osoitetta, jonka haluat uudelleenohjata. Jos vierailet URL-osoitteessa, sinun pitäisi nähdä "nginx welcome page".

    route

  4. Lisää ConfigMap palvelimen uudelleenohjauslohkolla. Siirry kohtaan Workloads > ConfigMaps ja napsauta Create ConfigMap. Name käytetään myöhemmin ConfigMapin liittämisessä. Key on tiedoston nimi (esim. nginx.conf) ja Value tiedoston sisältö.

    #nginx.conf
    server {
            listen 8080;
            server_name test.com;
            return 301 $scheme://test2.com$request_uri;
    }
    

    Tässä esimerkissä test.com on alkuperäinen URL-osoite ja test2.com se osoite, johon käyttäjä uudelleenohjataan.

  5. Liitä ConfigMap taltiona nginx-deploymentiin. Siirry deploymentiin ja tee seuraavat lisäykset YAML-tiedostoon.

    spec:
    # [possibly other values]
      template:
    #   [even more other values]
        spec:
          volumes:
            - name: nginx-conf
              configMap:
                name: nginx-conf
                defaultMode: 420
          containers:
            - name: nginx
    #         [again, more values]
              volumeMounts:
                - name: nginx-conf
                  mountPath: /opt/bitnami/nginx/conf/server_blocks
    

    Tässä esimerkissä nginx-conf on ConfigMapin name, nginx-config on key, ja ConfigMap on liitettävä polkuun /opt/bitnami/nginx/conf/server_blocks/. Muut imaget voivat tallentaa nginxin asetukset eri kansioihin.

Tarkkuutta vaaditaan

Yllä oleva YAML sisältää lisäykset, joita tarvitaan tämän esimerkin toimimiseksi. Esimerkki ei kuitenkaan sisällä mahdollisia muita rivejä, joita sinulla saattaa olla, ja uusien rivien lisääminen vaatii hieman huolellisuutta.

Jos haluat kokeilla jotain edistyneempää tai YAMLin muokkaaminen käsin tuntuu työläältä, ConfigMapin ja VolumeMountin voi luoda myös oc-komennolla.

echo '#nginx.conf
server {
        listen 8080;
        server_name test.com;
        return 301 $scheme://test2.com$request_uri;
}' | oc create configmap nginx-conf --from-file=nginx.conf=/dev/stdin
Sinun täytyy korvata <deployment-name> ympäristöösi sopivalla arvolla.

oc set volume deployment/<deployment-name> --add \
  --name=nginx-conf \
  --type=configmap \
  --configmap-name=nginx-conf \
  --mount-path=/opt/bitnami/nginx/conf/server_blocks \
  --containers=nginx

Tässä ohjeessa ei käsitellä oc-komentoa yksityiskohtaisesti, mutta voit aloittaa toisella ohjeella: Komentorivityökalun käyttö.

Lisää useampia isäntänimiä

Jos sinun täytyy uudelleenohjata useampi kuin yksi isäntänimi, voit käyttää samaa nginxiä. Sinun tarvitsee vain (1) lisätä uusi Route uudella isäntänimellä ja (2) lisätä uusi server-lohko olemassa olevaan ConfigMapiin. Jotta nginx ottaa uuden asetuksen käyttöön, voit poistaa Podin tai siirtyä podin terminaaliin ja suorittaa komennon nginx -s reload.

Terminal

Jos et näe komentoja terminaalissa, laajenna se napsauttamalla oikean yläkulman "Expand"-painiketta. Voit myös pienentää sen takaisin, ja komennot näkyvät silti.

Yhteenveto ja lisätietoa

Nginx on tehokas verkkopalvelin. Voit käyttää sitä myös HTTP-välityspalvelimena ja kuormantasaajana. Lisätietoja on dokumentaatiossa osoitteessa https://nginx.org/en/docs/.

Suomenkielinen tekoälykäännös

Sisällössä voi esiintyä virheellistä tietoa tekoälykäännöksestä johtuen.

Klikkaa tästä antaaksesi palautetta