Hyppää sisältöön

Docs CSC now features an automatic Finnish translation. Click here for more information.

Warning!

Puhti and Mahti are being decommissioned in stages, and their storage areas will become fully unavailable from 15 October 2026. Clean up unnecessary files and move any data you need to keep by 31 August 2026. See the Roihu data migration guide for instructions on transferring your data to Roihu.

Puhti scratch is very full: keep only active data there and move or delete everything else. No new Puhti scratch quota will be granted.

Perustaso

HTTP-uudelleenohjauksen määrittäminen Rahtissa on hyvin yksinkertaista käyttämällä verkkopalvelinta, kuten nginxia. Voimme ohjata uudelleen 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.

HTTP-uudelleenohjauksen määrittäminen Rahtissa

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ää Route siirtymällä kohtaan Networking -> Routes ja napsauttamalla Create Route. Käytä URL-osoitetta, jonka haluat ohjata uudelleen. Jos vierailet URL-osoitteessa, sinun pitäisi nähdä "nginx welcome page"

    route

  4. Lisää ConfigMap, jossa on palvelimen uudelleenohjauslohko. 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ä ohjataan.

  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/. Muissa imageissa nginxin asetukset voivat sijaita eri kansioissa.

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ö.

Useampien isäntänimien lisääminen

Jos sinun täytyy ohjata uudelleen useampi kuin yksi isäntänimi, voit käyttää samaa nginxia. 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.

Terminaali

Jos et näe komentoja terminaalissa, laajenna sitä napsauttamalla oikeasta yläkulmasta "Expand". 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