Edge Microgateway için Docker'ı Kullanma

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Bu konuda, Docker container'ında Edge Microgateway'in nasıl çalıştırılacağı açıklanmaktadır. Bu konuda ele alınan adımlar; Docker, Docker komutları ve Edge Microgateway kurulumu ve yapılandırması hakkında temel bilgilere sahip olduğunuzu varsayar. Daha fazla bilgi için Docker ve Edge Microgateway belgelerine bakın

Ön koşullar

Edge Microgateway'i bir Docker container'ında çalıştırmadan önce aşağıdaki görevleri yapmanız gerekir:

  • Apigee kuruluşunuz/ortamınız için Edge Mikro Ağ Geçidi'ni yapılandırın:

    edgemicro configure -o your_org -e your_env -u your_username

    Yapılandırma hakkında daha fazla bilgi için 1. Bölüm: Edge Mikro Ağ Geçidini Yapılandırma bölümüne bakın.

  • Yapılandırma adımlarını uyguladıktan sonra yapılandırma dosyasını bulun. Varsayılan konum şudur:

    $HOME/.edgemicro/your_org-your_env-config.yaml

    your_org ve your_env, edgemicro config komutunu çalıştırdığınızda kullandığınız kuruluş ve ortamdır. Bir Docker container'ında Edge Microgateway'i başlattığınızda bu dosyaya ihtiyacınız olacaktır.

  • edgemicro config komutunu çalıştırdığınızda döndürülen anahtara ve gizli bilgi bilgilerine sahip olduğunuzdan emin olun. Örneğin:

    The following credentials are required to start edge micro
      key: d9c34e1aff68ed969273c016699eabf48780e4f652242e72fc88a43e21252cb0
      secret: 3bc95a71c86a3c8ce04537fbcb788158731t51dfc6cdec13b7c05aa0bd969430
    
  • Bir Docker container'ında Edge Microgateway başlatmadan önce, kimliği doğrulanmış API proxy çağrıları yapmak için gereken Apigee Edge varlıklarını oluşturmanız (veya oluşturmanız) gerekir. Bu varlıklar arasında Edge Microgateway-aware proxy, bir API Ürünü, Geliştirici ve Geliştirici Uygulaması bulunur. Talimatların tamamı için Apigee Edge'de varlık oluşturma bölümüne bakın.

Edge Micro'yu Docker container'ı olarak çalıştırma

  1. Edge Microgateway için Docker görüntüsünü indirin:

    docker pull gcr.io/apigee-microgateway/edgemicro:latest
  2. Sonraki adımlara geçmeden önce, Önkoşullar bölümündeki tüm adımları uyguladığınızdan emin olun.

  3. $HOME/.edgemicro bölgesinde bulunan Edge Microgateway yapılandırma dosyasını base64 ile kodlamak için aşağıdaki komutu çalıştırın:

    export EDGEMICRO_CONFIG=`base64 $HOME/.edgemicro/your_org-your_env-config.yaml`

    Bu örnekte your_org ve your_env, edgemicro config komutunu çalıştırdığınızda kullandığınız kuruluş ve ortamdır.

    Komutun etrafına vurgu işaretleri (`) yerleştirmeyi unutmayın. Örneğin:

    export EDGEMICRO_CONFIG=`base64 $HOME/.edgemicro/docs-test-config.yaml`
  4. Edge Microgateway'i kapsayıcı olarak çalıştırın. Bu komut, Edge Microgateway'i başlatmak için container çalışma zamanı tarafından kullanılan çeşitli ortam değişkenlerini ayarlar:

    docker run -P -p 8000:8000 -d --name edgemicro \
    -v /var/tmp:/opt/apigee/logs \
    -e EDGEMICRO_PROCESSES=1 \
    -e EDGEMICRO_ORG=your_org \
    -e EDGEMICRO_ENV=your_env \
    -e EDGEMICRO_KEY=your_key \
    -e EDGEMICRO_SECRET=your_secret \
    -e "EDGEMICRO_CONFIG=$EDGEMICRO_CONFIG" \
    -e SERVICE_NAME=edgemicro \
    --security-opt=no-new-privileges \
    --cap-drop=ALL \
    gcr.io/apigee-microgateway/edgemicro:latest

    Parametreler

    Parametre Açıklama
    -P Açığa çıkan tüm bağlantı noktalarını ana makineye yayınlayın. Ayrıca bkz. Docker çalıştırma referansı.
    -p Tek bir bağlantı noktasını veya bağlantı noktasını açık bir şekilde eşleyin. Ayrıca bkz. Docker çalıştırma referansı.
    -d Ayrı modda çalıştır. Ayrıca bkz. Docker çalıştırma referansı.
    -v, --volume Birim eklemeyi belirtir. Edge Microgateway'i Docker container'ında TLS kullanacak şekilde yapılandırırsanız günlük dosyası dizinini eklerseniz 8443 numaralı bağlantı noktasını ortaya çıkarmanız gerektiğini unutmayın. Ayrıca bkz. VOLUME [paylaşılan dosya sistemleri]. Ayrıca bkz. Docker Container'ında TLS'yi kullanma.
    EDGEMICRO_ORG Edge Mikro Ağ Geçidi'ni yapılandırmak için kullandığınız Apigee kuruluşunun adı.
    EDGEMICRO_ENV Edge Mikro Ağ Geçidi'ni yapılandırmak için kullandığınız Apigee ortamının adı.
    EDGEMICRO_PROCESSES Başlatılacak işlem sayısı.
    EDGEMICRO_KEY Edge Mikro Ağ Geçidi'ni yapılandırdığınızda döndürülen anahtar.
    EDGEMICRO_SECRET Edge Mikro Ağ Geçidi'ni yapılandırdığınızda döndürülen gizli anahtar.
    EDGEMICRO_CONFIG Base64 olarak kodlanmış Edge Microgateway yapılandırma dosyasını içeren bir değişken.
    SERVICE_NAME Kubernetes kullanıyorsanız bu parametre otomatik olarak doldurulur. Aksi takdirde, bunu istediğiniz şekilde ayarlayabilirsiniz. Hiçbir şey belirtmezseniz hizmet adı default olarak ayarlanır.
    DEBUG Hata ayıklamayı etkinleştirmek için * olarak ayarlayın.
    HTTP_PROXY HTTPS_PROXY Edge Mikro Geçit, güvenlik duvarı arkasında çalıştığı ve ağ geçidinin Apigee Edge ile iletişim kuramadığı durumlarda kullanın. Daha fazla bilgi için Edge Microgateway'i bir şirket güvenlik duvarının arkasına kurma konusuna bakın.

    Örneğin: HTTP_PROXY=http://10.203.0.1:5187/

    NO_PROXY Edge Microgateway'in proxy yapmaması gereken alan adlarının virgülle ayrılmış listesi. Daha fazla bilgi için Edge Microgateway'i bir şirket güvenlik duvarının arkasına kurma konusuna bakın.

    Örneğin: localhost,127.0.0.1,localaddress,.localdomain.com

    NODE_EXTRA_CA_CERTS (İsteğe bağlı) Node.js tarafından varsayılan olarak güvenilmeyen bir CA kullanıyorsanız bu parametreyi kullanın. Bu parametrenin değerini, PEM biçiminde bir veya daha fazla güvenilir sertifika içeren bir dosyanın yoluna ayarlayın. Ayrıntılar için TLS sertifikaları bölümünü inceleyin.
    --security-opt (İsteğe bağlı) İstenen Docker güvenlik seçeneklerini ayarlar. Docker belgelerindeki Güvenlik yapılandırması bölümüne bakın.
    --cap-drop (İsteğe bağlı) Kapsayıcıda izin verilen Linux özellikleriyle ilgili sınırları belirler. Docker dokümanlarında Çalışma zamanı ayrıcalığı ve Linux özellikleri bölümüne bakın.

    Örneğin:

    docker run -P -p 8000:8000 -d --name edgemicro \
    -v /var/tmp:/opt/apigee/logs \
    -e EDGEMICRO_PROCESS=1 \
    -e EDGEMICRO_ORG=docs \
    -e EDGEMICRO_ENV=test \
    -e EDGEMICRO_KEY=d9c34e1aff68ed969273b016699eabf48780e4f652242e72fc88a23e21252cb0 \
    -e EDGEMICRO_SECRET=3bc95a71c86a3c8ce04137fbcb788158731t51dfc6cdec13b7c05aa0bd969430 \
    -e "EDGEMICRO_CONFIG=$EDGEMICRO_CONFIG" \
    -e SERVICE_NAME=edgemicro \
    --security-opt=no-new-privileges \
    --cap-drop=ALL \
    gcr.io/apigee-microgateway/edgemicro
  5. Kapsayıcının çalışıp çalışmadığını kontrol etmek için:

    docker ps

    Şuna benzer bir çıkış alırsınız:

    CONTAINER ID    IMAGE         COMMAND                CREATED          STATUS          PORTS                                             NAMES
    8b92e082ea9c    edgemicro    "/tmp/entrypoint.sh"   12 minutes ago   Up 12 minutes    0.0.0.0:8000->8000/tcp, 0.0.0.0:32775->8443/tcp    edgemicro
    

API çağrısını test etme

Edge Mikro Ağ Geçidi'ni kapsayıcıda başlattıktan sonra kapsayıcıya API çağrıları yapabilirsiniz. Örneğin API'nizin temel yolu /hello ise:

http://localhost:8000/hello

Örnek çıktı:

{"error":"missing_authorization","error_description":"Missing Authorization header"}

Bu yanıtı görmeniz, Edge Microgateway'in API çağrısını başarıyla işlediği anlamına gelir. Ancak Edge Microgateway, kimlik doğrulama için varsayılan olarak API anahtarı gerektirir. Sonraki bölümde API'yi geçerli bir API anahtarıyla test edeceksiniz.

Bir API'yi geçerli bir API anahtarıyla test etme

Edge kullanıcı arayüzünde, daha önce oluşturduğunuz Geliştirici Uygulaması'na gidin. Geliştirici Uygulaması sayfasında Tüketici Anahtarı'nı gösterin ve kopyalayın. Bu değer API anahtarıdır. Kimliği doğrulanmış API çağrıları yapmak için bu anahtarı kullanacaksınız.

x-api-key başlığıyla API'yi aşağıdaki gibi çağırın. Geliştirici Uygulaması'ndan kopyaladığınız Tüketici Anahtarı değeri API anahtarıdır. Varsayılan olarak Edge Microgateway, anahtarı aşağıdaki gibi x-api-key adlı bir üstbilgide iletmenizi bekler:

curl -i http://localhost:8000/hello -H "x-api-key:apikey"

Örneğin:

curl -i http://localhost:8000/hello -H "x-api-key:PydUKRDGIXRqF2xh4usn1FLHbhGKVIz"

API anahtarları ve OAuth jetonları ile Edge Mikro Ağ Geçidi üzerinden kimliği doğrulanmış API çağrıları yapma hakkında daha fazla bilgi edinmek için 4. Bölüm: Güvenli Edge Mikro Ağ Geçidi bölümüne bakın.

Uç Mikro Ağ Geçidini Durdurma

Edge Mikro Ağ Geçidi'ni durdurmak için aşağıdaki Docker komutunu kullanın:

docker stop edgemicro

Edge Mikro Ağ Geçidini Yeniden Başlatma

Edge Mikro Ağ Geçidi'ni durdurduktan sonra şu Docker komutuyla yeniden başlatabilirsiniz:

docker start edgemicro

Docker container'ında TLS'yi kullanma

Bu bölümde, Docker container'ında çalışan Edge Microgateway için TLS'nin nasıl yapılandırılacağı açıklanmaktadır. Edge Mikro Ağ Geçidi sunucusunu gelen istekler (kuzey yönü) için TLS kullanacak şekilde ve Edge Microgateway'i, hedef uç noktalara giden istekler (güneye giden yön) için bir TLS istemcisi olacak şekilde yapılandırabilirsiniz.

Sertifika dosyalarının yerleştirileceği yer

Edge Microgateway çalıştıran Docker kapsayıcısının /opt/apigee/.edgemicro üzerinde bir ekleme noktası var. Edge Mikro Ağ Geçidi'ni TLS sertifikalarını kullanacak şekilde yapılandırdığınızda sertifika dosyalarını bu ekleme noktasında kullanıma sunabilir ve Edge Microgateway yapılandırma dosyasında bunlara başvurabilirsiniz. Bu yapılandırma dosyası genellikle $HOME/.edgemicro dizininde bulunur ve your_org-your_env-config.yaml olarak adlandırılır. Örneğin:

...
edgemicro:
  ssl:
   key: /opt/apigee/.edgemicro/southbound/tls.key
   cert: /opt/apigee/.edgemicro/southbound/tls.crt
...

Node.js tarafından güvenilmeyen bir CA kullanma

Node.js tarafından varsayılan olarak güvenilmeyen (kendinden imzalı sertifika gibi) bir Sertifika Yetkilisi (CA) kullanıyorsanız kapsayıcıyı çalıştırırken NODE_EXTRA_CA_CERTS parametresini kullanmayı düşünün.

Bu parametreyi, PEM biçiminde bir veya daha fazla güvenilir sertifika içeren bir dosyanın yoluna ayarlayın. Bu parametrenin nasıl kullanıldığını görmek için Kuzeye giden TLS'yi yapılandırma ve Güneye giden TLS'yi yapılandırma örneklerine bakın.

Örneğin:

docker run -P -p 8443:8443 -d --name edgemicro \
-v $HOME/.edgemicro:/opt/apigee/.edgemicro \
-v $HOME/.edgemicro:/opt/apigee/logs \
-e NODE_EXTRA_CA_CERTS=/opt/apigee/.edgemicro/rootca.pem \
-e EDGEMICRO_PORT=8443 \
-e EDGEMICRO_ORG=docs \
-e EDGEMICRO_ENV=test \
-e EDGEMICRO_KEY=ac36574905fb54fdae65fc5433e831bec2680efb98220a355f2e917e52973c \
-e EDGEMICRO_SECRET=aac81dff6c326eaa222d53c15c8841fa78ea863bf4472568c9ce2d80a3bc56 \
-e "EDGEMICRO_CONFIG=$EDGEMICRO_CONFIG" \
--link helloworld:helloworld gcr.io/apigee-microgateway/edgemicro

Ayrıca bkz. Edge Micro'yu Docker container'ı olarak çalıştırma.

TLS doğrulamasını devre dışı bırakma

Önerilmese de, bazı durumlarda bir container'da çalışan Edge Microgateway için TLS doğrulamasını devre dışı bırakmak isteyebilirsiniz. TLS'yi devre dışı bırakma özelliği varsayılan olarak Edge Microgateway Docker kapsayıcısında yerleşik değildir. Bu görevi tamamlamak üzere Edge Microgateway için özelleştirilmiş bir Docker görüntüsü oluşturmanız gerekir. Aşağıda, özel görüntü oluşturma ve TLS doğrulamasını devre dışı bırakmayla ilgili genel talimatlar bulunmaktadır.

  1. https://github.com/apigee-internal/microgateway adresinden Edge Microgateway kaynak deposunu klonlayın veya indirin.

  2. cd işlemini, kaynak kodu dizinindeki microgateway/kubernetes/docker/edgemicro dizinine yapıştırın.

    Örneğin:

    cd $HOME/git/microgateway/kubernetes/docker/edgemicro
    
  3. entrypoint.sh dosyasını açın ve NODE_TLS_REJECT_UNAUTHORIZED ortam değişkenini kabul etmek için kodu değiştirin. Daha sonra, kapsayıcıyı çalıştırdığınızda bu değişken için bir değer belirtirsiniz.

  4. Docker container'ını oluşturun:

    docker build -t edgemicro .
    
  5. Kapsayıcıyı çalıştırdığınızda, -e NODE_TLS_REJECT_UNAUTHORIZED = 1 seçeneğini belirtin. Örneğin:

docker run -P -p 8443:8443 -d --name edgemicro \
-v $HOME/.edgemicro:/opt/apigee/.edgemicro \
-v $HOME/.edgemicro:/opt/apigee/logs \
-e NODE_TLS_REJECT_UNAUTHORIZED = 1 \
-e EDGEMICRO_PORT=8443 \
-e EDGEMICRO_ORG=docs \
-e EDGEMICRO_ENV=test \
-e EDGEMICRO_KEY=ac36574905fb54fdae65fc5433e831bec2680efb98220a355f2e917e52973c \
-e EDGEMICRO_SECRET=aac81dff6c326eaa222d53c15c8841fa78ea863bf4472568c9ce2d80a3bc56 \
-e "EDGEMICRO_CONFIG=$EDGEMICRO_CONFIG" \
--link helloworld:helloworld gcr.io/apigee-microgateway/edgemicro

Örnek: Kuzeye giden TLS'yi yapılandırma

Bu bölümde, Edge Microgateway sunucusunda kuzeye giden (gelen) bir TLS bağlantısının nasıl oluşturulacağı açıklanmaktadır. Kuzeye giden TLS, istemcilerin Edge Microgateway'e API çağrıları yaparken HTTPS kullanmasına olanak tanır. Aşağıdaki örnekte kendinden imzalı sertifikalar kullanılmaktadır.

1. Intital kurulum adımları

  1. Sisteminizde openssl.cnf dosyasını bulun. Örneğin, /etc/ssl/openssl.cnf.
  2. opensssl.cnf dosyasını düzenlemek için açın.
  3. Yapılandırma dosyanızda req_extensions bulunduğundan emin olun. Örneğin, dosyanızda aşağıdakine benzer bilgiler bulunur:

    [ req ]
    ...
    req_extensions          = v3_req
    ...
    
    [ v3_req ]
    extendedKeyUsage = serverAuth, clientAuth, codeSigning, emailProtection
    basicConstraints = CA:FALSE
    keyUsage = nonRepudiation, digitalSignature, keyEncipherment
    
  4. Doğru SNI özelliklerini oluşturmak için openssl.cnf öğesine aşağıdaki dizeyi ekleyin:

    [ alt_names ]
    DNS.1 = www.example.com
    DNS.2 = example.com
    DNS.3 = localhost
    DNS.4 = localhost.localdomain
    DNS.5 = 127.0.0.1
    DNS.6 = ::1
    DNS.7 = fe80::1
    

    Örnek opensssl.cnf dosyası:

    [ req ]
    distinguished_name      = req_distinguished_name
    attributes              = req_attributes
    req_extensions          = v3_req
    
    [ v3_req ]
    extendedKeyUsage = serverAuth, clientAuth, codeSigning, emailProtection
    basicConstraints = CA:FALSE
    keyUsage = nonRepudiation, digitalSignature, keyEncipherment
    
    [ req_distinguished_name ]
    countryName                     = Country Name (2 letter code)
    countryName_min                 = 2
    countryName_max                 = 2
    stateOrProvinceName             = State or Province Name (full name)
    localityName                    = Locality Name (eg, city)
    0.organizationName              = Organization Name (eg, company)
    organizationalUnitName          = Organizational Unit Name (eg, section)
    commonName                      = Common Name (eg, fully qualified host name)
    commonName_max                  = 64
    emailAddress                    = Email Address
    emailAddress_max                = 64
    
    [ req_attributes ]
    challengePassword               = A challenge password
    challengePassword_min           = 4
    challengePassword_max           = 20
    
    [ alt_names ]
    DNS.1 = www.example.com
    DNS.2 = example.com
    DNS.3 = localhost
    DNS.4 = localhost.localdomain
    DNS.5 = 127.0.0.1
    DNS.6 = ::1
    DNS.7 = fe80::1
    
  5. Henüz yapmadıysanız Edge Mikro Ağ Geçidi'ni başlatmak ve yapılandırmak için Önkoşullar bölümünde verilen adımları uygulayın. Bu işlemi tamamladığınızda Edge Microgateway'e Duyarlı Proxy, API Ürünü, Geliştirici ve Geliştirici Uygulaması oluşturmuş olmanız gerekir. Ayrıca edgemicro configure komutunu çalıştırmış ve bir anahtar ve gizli anahtar almış olmanız gerekir.

2. Kendinden imzalı sertifikalar oluşturma

Ardından, TLS'yi kurmak için ihtiyaç duyacağınız sertifikaları ve anahtarları oluşturun:

  1. cd ile $HOME/.edgemicro dizinine.
  2. Aşağıdaki bash komut dosyasını oluşturun. İstediğiniz adı verebilirsiniz. Örneğin: keygen.sh.

    #!/bin/bash
    # generate ca
    openssl genrsa -out rootca.key 2048
    openssl req -x509 -new -nodes -key rootca.key -sha256 -days 1024 -out rootca.pem
    # generate key
    openssl genrsa -out tls.key 2048
    openssl req -new -key tls.key -out tls.csr
    # sign cert
    openssl x509 -req -in tls.csr -CA rootca.pem -CAkey rootca.key -CAcreateserial -out tls.crt -days 1024 -sha256 -extensions 'v3_req' -extfile path/openssl.cnf
    
  3. Bash dosyasında, openssl.cnf dosyası yolunun doğru olduğundan emin olun.

  4. Bash dosyasını çalıştırın. Sertifika bilgilerini girmeniz istenecektir. Ortak Ad için localhost kullandığınızdan emin olun.

  5. Aşağıdaki dosyaların oluşturulduğundan emin olun:

    • rootca.key
    • rootca.pem
    • tls.key
    • tls.csr
    • rootca.srl
    • tls.crt

3. Edge Microgateway yapılandırma dosyasını düzenleyin

  1. Edge Micro yapılandırma dosyasını bir düzenleyicide açın. Örneğin:

    vi $HOME/.edgemicro/myorg-test-config.yaml
    
  2. edgemicro kıtasını aşağıdaki gibi düzenleyin. port ve ssl özelliklerinde değişiklik yaptığınıza dikkat edin:

    edge_config:
    ...
    edgemicro:
      port: 8443
      max_connections: 1000
      config_change_poll_interval: 600
      ssl:
        key: /opt/apigee/.edgemicro/tls.key
        cert: /opt/apigee/.edgemicro/tls.crt
        passphrase: admin123
        rejectUnauthorized: true
        requestCert: false
      logging:
    ...
    
  3. $HOME/.edgemicro konumunda bulunan Edge Microgateway yapılandırma dosyasını base64 olarak kodlamak için aşağıdaki komutu yürütün:

    export EDGEMICRO_CONFIG=`base64 $HOME/.edgemicro/your_org-your_env-config.yaml`

    Bu örnekte your_org ve your_env, edgemicro config komutunu çalıştırdığınızda kullandığınız kuruluş ve ortamdır.

    Komutun etrafına vurgu işaretleri (`) yerleştirmeyi unutmayın. Örneğin:

    export EDGEMICRO_CONFIG=`base64 $HOME/.edgemicro/docs-test-config.yaml`

Ayrıca bkz. Edge Micro'yu Docker container'ı olarak çalıştırma.

4. Kapsayıcıyı çalıştırın

  1. Docker container'ını Edge Microgateway ile çalıştırmak için aşağıdaki komutu yürütün:

    docker run -P -p 8443:8443 -d --name edgemicro \
    -v path_to_your_edgemicro_dir:/opt/apigee/.edgemicro \
    -v path_to_your_logs_dir:/opt/apigee/logs \
    -e NODE_EXTRA_CA_CERTS=/opt/apigee/.edgemicro/rootca.pem \
    -e EDGEMICRO_PORT=8443 \
    -e EDGEMICRO_ORG=$EDGEMICRO_ORG \
    -e EDGEMICRO_ENV=$EDGEMICRO_ENV \
    -e EDGEMICRO_KEY=$EDGEMICRO_KEY \
    -e EDGEMICRO_SECRET=$EDGEMICRO_SECRET \
    -e "EDGEMICRO_CONFIG=$EDGEMICRO_CONFIG" \
    gcr.io/apigee-microgateway/edgemicro:latest
    
  2. Komutta kullanılan aşağıdaki parametrelere dikkat edin. Bunlar, Edge Micro'yu Docker container'ı olarak çalıştırma bölümünde açıklanan temel komuttan farklıdır.

    • port, 8443 olarak ayarlandı.
    • Anahtar ve sertifika dosyalarını eklemek için bir birim bağlantısı kullanılır.
    • NODE_EXTRA_CA_CERTS değişkeni, özel bir CA eklemek için kullanılır (kendinden imzalı sertifikalarda gerektiği gibi).

5. TLS yapılandırmasını test etme

  1. Kurulumu test etmek için aşağıdaki cURL komutunu yürütün. Komutun yerine Basepath ve API anahtarınızı girin. Aşağıdaki örnekte, rootca.pem öğesinin bulunduğu dizinde olduğunuz ve oluşturduğunuz proxy'nin temel yoluna (/hello) sahip olduğu varsayılmaktadır:

    curl -v https://localhost:8443/hello --cacert rootca.pem \
    -H "x-api-key: Az82fdnfONVCOOE4NKhajxAboDgA3FAo"
    
  2. Ayrıntılı cURL çıkışı, TLS el sıkışmanın her adımını gösterir. HTTP 200 yanıtı görürseniz yapılandırma başarılı olmuş demektir:

    *   Trying ::1...ey:Az82fdnfONVCOOE4NKhajxAboDgA3FAo"
    * TCP_NODELAY set
    * Connected to localhost (::1) port 8443 (#0)
    * ALPN, offering h2
    * ALPN, offering http/1.1
    * Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
    * successfully set certificate verify locations:
    *   CAfile: rootca.pem
      CApath: none
    * TLSv1.2 (OUT), TLS handshake, Client hello (1):
    * TLSv1.2 (IN), TLS handshake, Server hello (2):
    * TLSv1.2 (IN), TLS handshake, Certificate (11):
    * TLSv1.2 (IN), TLS handshake, Server key exchange (12):
    * TLSv1.2 (IN), TLS handshake, Server finished (14):
    * TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
    * TLSv1.2 (OUT), TLS change cipher, Client hello (1):
    * TLSv1.2 (OUT), TLS handshake, Finished (20):
    * TLSv1.2 (IN), TLS change cipher, Client hello (1):
    * TLSv1.2 (IN), TLS handshake, Finished (20):
    * SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
    * ALPN, server accepted to use http/1.1
    * Server certificate:
    *  subject: C=US; ST=CO; L=Boulder; O=Docs; OU=Docs; CN=localhost; emailAddress=docs@apigee.com
    *  start date: Dec 14 22:35:28 2018 GMT
    *  expire date: Oct  3 22:35:28 2021 GMT
    *  common name: localhost (matched)
    *  issuer: C=US; ST=CO; L=Boulder; O=Docs; OU=Docs; CN=localhost; emailAddress=docs@apigee.com
    *  SSL certificate verify ok.
    > GET /hello HTTP/1.1
    > Host: localhost:8443
    > User-Agent: curl/7.54.0
    > Accept: */*
    > x-api-key:Az82fdnfaONVCOE4NKhajxAboDA3FAo
    >
    < HTTP/1.1 200 OK
    < x-powered-by: Apigee
    < access-control-allow-origin: *
    < x-frame-options: ALLOW-FROM RESOURCE-URL
    < x-xss-protection: 1
    < x-content-type-options: nosniff
    < content-type: text/plain; charset=utf-8
    < etag: W/"d-GHB1ZrJKk/wdVTdB/jgBsw"
    < date: Fri, 14 Dec 2018 22:43:13 GMT
    < via: 1.1 google
    < alt-svc: clear
    < x-response-time: 1325
    < Connection: keep-alive
    < Transfer-Encoding: chunked
    <
    * Connection #0 to host localhost left intact
    Hello, Guest!
    

Örnek: Güneye giden TLS'yi yapılandırma

Bu bölümde, Edge Microgateway sunucusu ile bir arka uç hedef uygulaması arasında güneye giden (giden) TLS bağlantısının nasıl oluşturulacağı açıklanmaktadır. Aşağıdaki örnekte kendinden imzalı sertifikalar kullanılmaktadır.

1. İlk kurulum adımları

  1. Sisteminizde openssl.cnf dosyasını bulun. Örneğin, /etc/ssl/openssl.cnf.
  2. opensssl.cnf dosyasını düzenlemek için açın.
  3. Yapılandırma dosyanızda req_extensions bulunduğundan emin olun. Örneğin, dosyanızda aşağıdakine benzer bilgiler bulunur:

    [ req ]
    ...
    req_extensions          = v3_req
    ...
    
    [ v3_req ]
    extendedKeyUsage = serverAuth, clientAuth, codeSigning, emailProtection
    basicConstraints = CA:FALSE
    keyUsage = nonRepudiation, digitalSignature, keyEncipherment
    
  4. Doğru SNI özelliklerini oluşturmak için openssl.cnf öğesine aşağıdaki dizeyi ekleyin:

    [ alt_names ]
    DNS.1 = helloworld
    DNS.2 = localhost
    DNS.3 = localhost.localdomain
    DNS.4 = 127.0.0.1
    DNS.5 = ::1
    DNS.6 = fe80::1
    

    Örnek opensssl.cnf dosyası:

    [ req ]
    distinguished_name      = req_distinguished_name
    attributes              = req_attributes
    req_extensions          = v3_req
    
    [ v3_req ]
    extendedKeyUsage = serverAuth, clientAuth, codeSigning, emailProtection
    basicConstraints = CA:FALSE
    keyUsage = nonRepudiation, digitalSignature, keyEncipherment
    
    [ req_distinguished_name ]
    countryName                     = Country Name (2 letter code)
    countryName_min                 = 2
    countryName_max                 = 2
    stateOrProvinceName             = State or Province Name (full name)
    localityName                    = Locality Name (eg, city)
    0.organizationName              = Organization Name (eg, company)
    organizationalUnitName          = Organizational Unit Name (eg, section)
    commonName                      = Common Name (eg, fully qualified host name)
    commonName_max                  = 64
    emailAddress                    = Email Address
    emailAddress_max                = 64
    
    [ req_attributes ]
    challengePassword               = A challenge password
    challengePassword_min           = 4
    challengePassword_max           = 20
    
    [ alt_names ]
    DNS.1 = helloworld
    DNS.2 = localhost
    DNS.3 = localhost.localdomain
    DNS.4 = 127.0.0.1
    DNS.5 = ::1
    DNS.6 = fe80::1
    
  5. edgemicro configure komutunu çalıştırın:

    edgemicro configure -o your_org -e your_env -u your_username

    Yapılandırma hakkında daha fazla bilgi için 1. Bölüm: Edge Mikro Ağ Geçidini Yapılandırma bölümüne bakın.

  6. edgemicro configure aracından döndürülen anahtar ve gizli bilgi kimlik bilgilerini kopyalayın. Kapsayıcıyı çalıştırmak için bu değerlere ihtiyacınız olacak. Örneğin:

    The following credentials are required to start edge micro
      key: d9c34e1aff68ed969273c016699eabf48780e4f652242e72fc88a43e21252cb0
      secret: 3bc95a71c86a3c8ce04537fbcb788158731t51dfc6cdec13b7c05aa0bd969430
    

2. Node.js hedef uygulaması oluşturma

  1. cd ile .edgemicro dizinine.

  2. Aşağıdaki bash komut dosyasını oluşturun. İstediğiniz adı verebilirsiniz. Örneğin: keygen.sh.

    #!/bin/bash
    # generate ca
    openssl genrsa -out rootca.key 2048
    openssl req -x509 -new -nodes -key rootca.key -sha256 -days 1024 -out rootca.pem
    # generate key
    openssl genrsa -out tls.key 2048
    openssl req -new -key tls.key -out tls.csr
    # sign cert
    openssl x509 -req -in tls.csr -CA rootca.pem -CAkey rootca.key -CAcreateserial -out tls.crt -days 1024 -sha256 -extensions 'v3_req' -extfile path/openssl.cnf
    
  3. Bash dosyasında, openssl.cnf dosyası yolunun doğru olduğundan emin olun.

  4. Bash dosyasını çalıştırın. Sertifika bilgilerini girmeniz istenecektir. Ortak Ad için hellworld kullandığınızdan emin olun.

  5. Aşağıdaki dosyaların oluşturulduğundan emin olun:

    • rootca.key
    • rootca.pem
    • tls.key
    • tls.csr
    • rootca.srl
    • tls.crt
  6. server.js adlı yeni bir dosya oluşturun.

    'use strict';
    
    const express = require('express');
    const https = require('https');
    const fs = require('fs');
    
    const options = {
      key: fs.readFileSync("tls.key"),
      cert: fs.readFileSync("tls.crt")
    };
    
    // Constants
    const PORT = 9443;
    const HOST = '0.0.0.0';
    
    // App
    const app = express();
    app.get('/', (req, res) => {
      res.send('Hello world\n');
    });
    
    https.createServer(options, app).listen(PORT);
    
  7. server.js ile aynı dizinde bir package.json dosyası oluşturun. Örneğin:

    {
      "name": "helloworld",
      "version": "1.0.0",
      "description": "",
      "main": "server.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1",
        "start": "node server.js"
      },
      "author": "",
      "license": "ISC",
      "dependencies": {
        "express": "^4.16.4",
        "fs": "0.0.1-security",
        "https": "^1.0.0"
      }
    }
    
  8. Bağımlılıkları almak için npm install komutunu çalıştırın.

  9. server.js ile aynı dizinde yeni bir Dockerfile oluşturun. Burada WORKDIR, Node.js uygulamanızın kökünün yoludur:

    FROM node:8-alpine
    WORKDIR path-to-your-node-app
    COPY package*.json ./
    
    RUN npm install
    COPY . .
    EXPOSE 9443
    CMD [ "npm", "start" ]
    
  10. Docker görüntüsünü oluşturun:

    docker build -t helloworld . 
    
  11. Örnek uygulamayı başlatın:

    docker run -P -p 9443:9443 --name helloworld helloworld
    

3. Apigee Edge'de varlık oluşturun

  1. Bu ayarlarla Edge Mikro Ağ Geçidi'ne duyarlı bir proxy oluşturun. Daha fazla bilgi için Edge'de Edge Microgateway uyumlu API proxy'si oluşturma bölümüne bakın.

    • Proxy adı: edgemicro_local
    • Düzeltme: 1
    • Temel yol: /local
    • Hedef: https://helloworld:9443
  2. Bir API ürünü oluşturun. Ayrıntılı bilgi için Ürün oluşturma başlıklı makaleyi inceleyin.

  3. Geliştirici oluşturun. Ayrıntılar için Geliştirici oluşturma başlıklı makaleyi inceleyin.

  4. Geliştirici uygulaması oluşturun. Ayrıntılar için Geliştirici uygulaması oluşturma konusuna bakın

4. Kapsayıcıyı çalıştırın

  1. Edge Micro yapılandırma dosyasını bir düzenleyicide açın. Örneğin:

    vi $HOME/.edgemicro/myorg-test-config.yaml
    
  2. edgemicro kıtasını aşağıdaki gibi düzenleyin. port ve ssl özelliklerinde değişiklik yaptığınıza dikkat edin:

    edge_config:
    ...
    edgemicro:
      port: 8443
      max_connections: 1000
      config_change_poll_interval: 600
      ssl:
        key: /opt/apigee/.edgemicro/tls.key
        cert: /opt/apigee/.edgemicro/tls.crt
        passphrase: admin123
        rejectUnauthorized: true
        requestCert: false
      logging:
    ...
    
  3. $HOME/.edgemicro bölgesinde bulunan Edge Microgateway yapılandırma dosyasını base64 ile şifrelemek için aşağıdaki komutu çalıştırın:

    export EDGEMICRO_CONFIG=`base64 $HOME/.edgemicro/your_org-your_env-config.yaml`

    Bu örnekte your_org ve your_env, edgemicro config komutunu çalıştırdığınızda kullandığınız kuruluş ve ortamdır.

    Komutun etrafına vurgu işaretleri (`) yerleştirmeyi unutmayın. Örneğin:

    export EDGEMICRO_CONFIG=`base64 $HOME/.edgemicro/docs-test-config.yaml`
  4. Docker container'ında Edge Microgateway'i başlatmak için aşağıdaki komutu çalıştırın.

    docker run -P -p 8443:8443 -d --name edgemicro \
    -v path_to_your_edgemicro_dir:/opt/apigee/.edgemicro \
    -v path_to_your_logs_dir:/opt/apigee/logs \
    -e EDGEMICRO_PORT=8443 \
    -e EDGEMICRO_ORG=$EDGEMICRO_ORG \
    -e EDGEMICRO_ENV=$EDGEMICRO_ENV \
    -e EDGEMICRO_KEY=$EDGEMICRO_KEY \
    -e EDGEMICRO_SECRET=$EDGEMICRO_SECRET \
    -e "EDGEMICRO_CONFIG=$EDGEMICRO_CONFIG" \
    --link helloworld:helloworld gcr.io/apigee-microgateway/edgemicro
    

5. TLS yapılandırmasını test etme

  1. Kurulumu test etmek için aşağıdaki cURL komutunu yürütün. Mikro ağ geçidi duyarlı proxy'de kullandığınız temel yolu ve Apigee Edge'de oluşturduğunuz Developer uygulamasından alınan API anahtarını değiştirin. Örneğin:

    curl https://localhost:8443/local -k -H "x-api-key: xxxx" -v
    

    Şu hatayı görmeniz gerekir:

    ...
    *  subject: C=CA; ST=Ontario; L=Toronto; O=Google Canada; OU=Google Cloud Platform; CN=edgemicro; emailAddress=srinandans@google.com
    *  start date: Dec 10 02:12:22 2018 GMT
    *  expire date: Sep 29 02:12:22 2021 GMT
    *  issuer: C=CA; ST=Ontario; L=Toronto; O=Google Canada; OU=Google Cloud Platform; CN=edgemicro; emailAddress=srinandans@google.com
    *  SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway.
    > GET /local HTTP/1.1
    > Host: localhost:8443
    > User-Agent: curl/7.54.0
    > Accept: */*
    > x-api-key: 9fVC65pFj8LrmlPmVyxFjx4KgAHTxqSd
    >
    < HTTP/1.1 502 Bad Gateway
    < Date: Wed, 12 Dec 2018 05:25:01 GMT
    < Connection: keep-alive
    < Content-Length: 93
    <
    * Connection #0 to host localhost left intact
    {"message":"unable to verify the first certificate","code":"UNABLE_TO_VERIFY_LEAF_SIGNATURE"}
    
  2. Edge Mikro Ağ Geçidi'ni yeniden çalıştırın, ancak bu kez NODE_EXTRA_CA_CERTS değişkenini ekleyin.

    docker run -P -p 8443:8443 -d --name edgemicro \
    -v path_to_your_edgemicro_dir:/opt/apigee/.edgemicro \
    -v path_to_your_logs_dir:/opt/apigee/logs \
    -e NODE_EXTRA_CA_CERTS=/opt/apigee/.edgemicro/rootca.pem \
    -e EDGEMICRO_PORT=8443 \
    -e EDGEMICRO_ORG=$EDGEMICRO_ORG \
    -e EDGEMICRO_ENV=$EDGEMICRO_ENV \
    -e EDGEMICRO_KEY=$EDGEMICRO_KEY \
    -e EDGEMICRO_SECRET=$EDGEMICRO_SECRET \
    -e "EDGEMICRO_CONFIG=$EDGEMICRO_CONFIG" \
    --link helloworld:helloworld gcr.io/apigee-microgateway/edgemicro
    
  3. Aşağıdaki cURL komutunu yürütün. Basepath ve API anahtarınızı önceki gibi değiştirin. Örneğin:

    curl https://localhost:8443/local -k -H "x-api-key: xxxx" -v
    
  4. Çıkışı kontrol edin. İşlem başarılı olduğunda HTTP 200 durum yanıtı alırsınız:

    ...
    > GET /local HTTP/1.1
    > Host: localhost:8443
    > User-Agent: curl/7.54.0
    > Accept: */*
    > x-api-key: 9fVC65pFj8LrmlPmVyxFjx4KgAHTxqSd
    >
    < HTTP/1.1 200 OK
    < x-powered-by: Express
    < content-type: text/html; charset=utf-8
    < etag: W/"c-M6tWOb/Y57lesdjQuHeB1P/qTV0"
    < date: Wed, 12 Dec 2018 05:49:28 GMT
    < x-response-time: 421
    < Connection: keep-alive
    < Transfer-Encoding: chunked
    <
    Hello world
    

Özel eklenti ekleme

Özel eklentiler yazarak mikro ağ geçidine yeni özellikler ve imkanlar ekleyebilirsiniz. Özel eklentiler, mikro ağ geçidinden geçen istek ve yanıtlarla programlı bir şekilde etkileşim kurmanıza olanak tanır.

Eklentileri, docker container'ında çalışan bir Edge Microgateway örneğine dağıtmak için iki seçeneğiniz vardır:

Bu bölümün geri kalanında, standart bir Edge Mikro Geçit kurulumu için eklenti yazma ve yapılandırma hakkında bilgi sahibi olduğunuz varsayılır. Aksi takdirde, Özel eklentiler geliştirme konusuna bakın.

Seçenek A: Eklenti dizinini bir birime ekleyin

(v.2.5.27'de eklenmiştir) Birim bağlantısı aracılığıyla eklenti ekleme adımları, Edge Mikro Ağ Geçidi'ne özel eklenti eklemek için gereken adımlara benzer. Docker container'ını çalıştırdığınızda, eklenti dizinini yerel sisteminize (birim), container ekleme noktasına (/opt/apigee/plugins) ekleyebilirsiniz. Ardından, Edge Microgateway yapılandırma dosyasında yerel birim dizinini belirtirsiniz.

Aşağıdaki adımlarda, özel eklentiler eklemek için Docker ekleme noktasının nasıl kullanılacağı gösterilmektedir.

  1. Edge Mikro Ağ Geçidini Durdur:

    edgemicro stop
    
  2. Özel eklentileriniz için bir dizin oluşturun. Örneğin,

    $HOME/edgemicro/custom/plugins
    
  3. Edge Microgateway yapılandırma dosyasına özel eklenti dizinini ekleyin. Örneğin:

      plugins:
        dir: $HOME/edgemicro/custom/plugins
        sequence:
          - oauth
          - response-uppercase
      ````
    
  4. Eklentinizi Yazma için basit bir eklenti sayfasındaki talimatlara göre yazın ve test edin. Eklenti kodunuzu doğru dizin yapısına yerleştirdiğinizden emin olun. Örneğin:

    custom
      |
      |-- plugins
        |
        |- response-uppercase
        |     |- index.js
        |     |- package.json
        |- request-headers
        |     | - index.js
              | - package.json
    
  5. Docker container'ını aşağıdakine benzer bir komutla çalıştırın. Eklentiler dizinini Docker birimine eklemek için -v seçeneğini kullanın. Aşağıdaki örnek komutta, eklenti dizini $HOME/edgemicro/custom/plugins (özel eklentinin bulunduğu yer) kapsayıcının ekleme noktasına /opt/apigee/plugins eşlenmiştir:

    docker run -P -p 8000:8000 -d --name edgemicro \
    -v /var/tmp:/opt/apigee/logs \
    -v $HOME/edgemicro/custom/plugins:/opt/apigee/plugins \
    -e EDGEMICRO_PROCESSES=1 \
    -e EDGEMICRO_ORG=jdoe \
    -e EDGEMICRO_ENV=test \
    -e EDGEMICRO_KEY=39c4b561100cd7f258768d1072f3e1d7c17b5f36a18fe89972bb5c9ce7e58fb \
    -e EDGEMICRO_SECRET=f5f9e239a38b4e6cc99c2aa067716a84aebdcff9580a7925fc500e402b1a5fa \
    -e "EDGEMICRO_CONFIG=$EDGEMICRO_CONFIG" \
    -e SERVICE_NAME=edgemicro \
    --security-opt=no-new-privileges \
    --cap-drop=ALL gcr.io/apigee-microgateway/edgemicro:latest
    
  6. Eklentiyi test etmek için API'nizi çağırın.

Daha fazla bilgi için VOLUME [paylaşılan dosya sistemleri] bölümüne bakın.

B Seçeneği: Eklentileri kapsayıcının içine oluşturma

Bu seçenekte eklentileri kapsayıcınızın içine derlersiniz.

1. Eklentilerinizi paketleyin

  1. Eklentinizi Yazma için basit bir eklenti sayfasındaki talimatlara göre yazın ve test edin.

  2. Eklenti kodunuzu doğru dizin yapısına yerleştirin. Eklenti dizinleri belirli bir yapıda olmalıdır. Aşağıdaki örnekte izlemeniz gereken yapı gösterilmektedir. Burada response-uppercase ve request-headers, özel eklenti kodu içeren klasörlerin adlarıdır (bu adlar yalnızca örnektir, klasör adlarınız farklı olabilir):

    plugin
      |
      |-- plugins
        |
        |- response-uppercase
        |     |- index.js
        |     |- package.json
        |- request-headers
        |     | - index.js
              | - package.json
    
  3. plugin klasörüne cd.

  4. plugin klasöründeki plugins klasörünün tamamını sıkıştırın:

    zip -r plugins.zip plugins/

2. Docker görüntüsü oluşturma

Ardından, eklenti kodunuzu bir Edge Microgateway görüntüsüne eklemek için bir Dockerfile oluşturun.

  1. ZIP dosyasının bulunduğu dizinde Dockerfile adlı yeni bir dosya oluşturun.
  2. Dockerfile içine aşağıdaki kodu ekleyip dosyayı kaydedin:

    USER root
    RUN apk update && \
        apk upgrade && \
        apk add zipapk add zip && \
        mkdir /opt/apigee/customplugins && \
        chown apigee:apigee /opt/apigee/customplugins
    COPY plugins.zip /opt/apigee/customplugins
    RUN su - apigee -c "unzip /opt/apigee/customplugins/plugins.zip -d /opt/apigee/customplugins"
    EXPOSE 8000
    EXPOSE 8443
    USER apigee
    ENTRYPOINT ["entrypoint"]
    
  3. Eklentilerinizle yeni bir Edge Microgateway Docker görüntüsü oluşturun:

    docker build -t image-name .
    

    Örneğin:

    docker build -t edgemicroplugins .
    

3. Edge Mikro Ağ Geçidi yapılandırmasını güncelleme

Eklentiler paketlendiğine göre artık Edge Microgateway yapılandırma dosyasına eklemeniz gerekir.

  1. Edge Microgateway yapılandırma dosyasını bir düzenleyicide açın:

    $HOME/.edgemicro/org-env-config.yaml
    

    Örneğin:

    vi $HOME/.edgemicro/myorg-test-config.yaml
  2. Eklenti dizinini yapılandırma dosyasına ekleyin. Aşağıdaki örnekte dir özelliği, (Dockerfile'da belirttiğiniz) eklenti kodunun konumunu belirtir. Ayrıca, eklenti dizininin adını da belirtmeniz gerekir. Aşağıdaki örnekte bu ad response-uppercase şeklindedir.

    edgemicro:
      ...
      plugins:
        dir: /opt/apigee/plugins
        sequence:
          - oauth
          - response-uppercase
    

4. Mikro ağ geçidini başlatma

Son olarak, kapsayıcıdaki mikro ağ geçidini başlatmanız gerekir.

  1. $HOME/.edgemicro bölgesinde bulunan Edge Microgateway yapılandırma dosyasını base64 ile kodlamak için aşağıdaki komutu çalıştırın:

    export EDGEMICRO_CONFIG=`base64 $HOME/.edgemicro/your_org-your_env-config.yaml`

    Bu örnekte your_org ve your_env, edgemicro config komutunu çalıştırdığınızda kullandığınız kuruluş ve ortamdır.

    Komutun etrafına vurgu işaretleri (`) yerleştirmeyi unutmayın. Örneğin:

    export EDGEMICRO_CONFIG=`base64 $HOME/.edgemicro/docs-test-config.yaml`
  2. Edge Microgateway'i kapsayıcı olarak çalıştırın. Bu komut, Edge Microgateway'i başlatmak için container çalışma zamanı tarafından kullanılan çeşitli ortam değişkenlerini ayarlar:

    docker run -P -p 8000:8000 -d --name edgemicroplugins \
    -e EDGEMICRO_PLUGIN_DIR=/opt/apigee/customplugins/plugins \
    -e EDGEMICRO_ORG=your_org \
    -e EDGEMICRO_ENV=your_env \
    -e EDGEMICRO_KEY=your_key \
    -e EDGEMICRO_SECRET=your_secret \
    -e "EDGEMICRO_CONFIG=$EDGEMICRO_CONFIG" \
    -e SERVICE_NAME=edgemicroplugins image_name

    Örneğin:

    docker run -P -p 8000:8000 -d --name edgemicroplugins \
    -e EDGEMICRO_PLUGIN_DIR=/opt/apigee/customplugins/plugins \
    -e EDGEMICRO_ORG=docs \
    -e EDGEMICRO_ENV=test \
    -e EDGEMICRO_KEY=d9c34e1aff68ed969273b016699eabf48780e4f652242e72fc88a23e21252cb0 \
    -e EDGEMICRO_SECRET=3bc95a71c86a3c8ce04137fbcb788158731t51dfc6cdec13b7c05aa0bd969430 \
    -e "EDGEMICRO_CONFIG=$EDGEMICRO_CONFIG" \
    -e SERVICE_NAME=edgemicroplugins edgemicroplugins
  3. Eklentiyi test etmek için API'nizi çağırın:

    API'nizi çağırarak ve çıkışın beklendiği gibi olduğunu doğrulayarak eklenti kodunun çalışıp çalışmadığını test edin:

    curl -i http://localhost:8000/hello -H "x-api-key:apikey"

    Örneğin, response-uppercase eklentisi aşağıdaki gibi bir yanıt döndürebilir:

    curl -i http://localhost:8000/hello -H "x-api-key:PydUKRDGIXRqF2xh4usn1FLHbhGKVIz"
      HELLO, WORLD!