Edge Microgateway için işlem ve yapılandırma referansı

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

Edge Microgateway 2.4.x sürümü

Genel bakış

Bu bölümde izleme, günlük kaydı ve hata ayıklama dahil olmak üzere Edge Mikro Ağ Geçidi'nin nasıl yönetileceği ve yapılandırılacağı ele alınmaktadır.

Yapılandırma değişiklikleri yapma

Bilmeniz gereken yapılandırma dosyaları şunlardır:

  • Varsayılan sistem yapılandırma dosyası
  • Yeni başlatılan Edge Microgateway örneği için varsayılan yapılandırma dosyası
  • Çalışan örnekler için dinamik yapılandırma dosyası

Bu bölümde, söz konusu dosyalar ve bunları değiştirmek için bilmeniz gerekenler açıklanmaktadır. Yapılandırma dosyası ayarları hakkında ayrıntılı bilgi için Edge Microgateway yapılandırma referansı sayfasına bakın.

Varsayılan sistem yapılandırma dosyası

Edge Microgateway'i yüklediğinizde buraya varsayılan bir sistem yapılandırma dosyası yerleştirilir:

[prefix]/lib/node_modules/edgemicro/config/default.yaml

Burada [prefix], npm ön ek dizinidir. Edge Microgateway nerede kurulu? bölümüne göz atın.

Sistem yapılandırma dosyasını değiştirirseniz Edge Microgateway'i yeniden başlatmanız, yeniden yapılandırmanız ve yeniden başlatmanız gerekir:

  1. edgemicro init numaralı telefonu ara
  2. edgemicro configure [params] numaralı telefonu ara
  3. edgemicro start [params] numaralı telefonu ara

Yeni başlatılan Edge Microgateway örnekleri için varsayılan yapılandırma dosyası

edgemicro init uygulamasını çalıştırdığınızda, default.yaml adlı sistem yapılandırma dosyası (yukarıda açıklanmıştır) şu dizine yerleştirilir: ~/.edgemicro

Yapılandırma dosyasını ~/.edgemicro içinde değiştirirseniz Edge Microgateway'i yeniden yapılandırmanız ve yeniden başlatmanız gerekir:

  1. edgemicro stop
  2. edgemicro configure [params]
  3. edgemicro start [params]

Çalışan örnekler için dinamik yapılandırma dosyası

edgemicro configure [params] çalıştırdığınızda, ~/.edgemicro içinde bir dinamik yapılandırma dosyası oluşturulur. Dosya şu kalıba göre adlandırılır: [org]-[env]-config.yaml burada org ve env, Apigee Edge kuruluş ve ortam adlarınızdır. Yapılandırma değişiklikleri yapmak için bu dosyayı kullanabilir ve ardından kesinti olmadan yeniden yükleyebilirsiniz. Örneğin, bir eklenti ekler ve yapılandırırsanız aşağıda açıklandığı gibi, herhangi bir kapalı kalma süresi olmadan yapılandırmayı yeniden yükleyebilirsiniz.

Edge Microgateway çalışıyorsa (sıfır kapalı kalma süresi seçeneği):

  1. Edge Mikro Ağ Geçidi yapılandırmasını yeniden yükleyin:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]
    

    Burada:

    • org, Edge kuruluşunuzun adıdır (kuruluş yöneticisi olmanız gerekir).
    • env, kuruluşunuzdaki bir ortamdır (test veya üretim gibi).
    • key, yapılandır komutu tarafından daha önce döndürülen anahtardır.
    • secret, daha önce yapılandır komutu tarafından döndürülen anahtardır.

    Örnek

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d000723 -s 05c14356e42ed136b8dd35cf8a18531ff52d7299134677e30ef4e34ab0cc824
    

Edge Mikro Ağ Geçidi durdurulmuşsa:

  1. Edge Mikro Ağ Geçidi'ni yeniden başlatın:
    edgemicro start -o [org] -e [env] -k [key] -s [secret]
    

    Burada:

    • org, Edge kuruluşunuzun adıdır (kuruluş yöneticisi olmanız gerekir).
    • env, kuruluşunuzdaki bir ortamdır (test veya üretim gibi).
    • key, yapılandır komutu tarafından daha önce döndürülen anahtardır.
    • secret, daha önce yapılandır komutu tarafından döndürülen anahtardır.

    Örnek

    edgemicro start -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d000723 -s 05c14356e42ed136b8dd35cf8a18531ff52d7299134677e30ef4e34ab0cc824
    

Aşağıda bir yapılandırma dosyası örneği verilmiştir. Yapılandırma dosyası ayarlarıyla ilgili ayrıntılar için Edge Microgateway yapılandırma referansı sayfasına bakın.

edge_config:
  bootstrap: >-
    https://edgemicroservices-us-east-1.apigee.net/edgemicro/bootstrap/organization/docs/environment/test
  jwt_public_key: 'https://docs-test.apigee.net/edgemicro-auth/publicKey'
  managementUri: 'https://api.enterprise.apigee.com'
  vaultName: microgateway
  authUri: 'https://%s-%s.apigee.net/edgemicro-auth'
  baseUri: >-
    https://edgemicroservices.apigee.net/edgemicro/%s/organization/%s/environment/%s
  bootstrapMessage: Please copy the following property to the edge micro agent config
  keySecretMessage: The following credentials are required to start edge micro
  products: 'https://docs-test.apigee.net/edgemicro-auth/products'
edgemicro:
  port: 8000
  max_connections: 1000
  max_connections_hard: 5000
  config_change_poll_interval: 600
  logging:
    level: error
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24
  plugins:
    sequence:
      - oauth
headers:
  x-forwarded-for: true
  x-forwarded-host: true
  x-request-id: true
  x-response-time: true
  via: true
oauth:
  allowNoAuthorization: false
  allowInvalidAuthorization: false
  verify_api_key_url: 'https://docs-test.apigee.net/edgemicro-auth/verifyApiKey'
analytics:
  uri: >-
    https://edgemicroservices-us-east-1.apigee.net/edgemicro/axpublisher/organization/docs/environment/test

Ortam değişkenlerini ayarlama

Edge kuruluşunuz ve ortamınız için değer gerektiren komut satırı arayüzü komutları ve Edge Microgateway'i başlatmak için gereken anahtar ve gizli anahtar şu ortam değişkenlerinde depolanabilir:

  • EDGEMICRO_ORG
  • EDGEMICRO_ENV
  • EDGEMICRO_KEY
  • EDGEMICRO_SECRET

Bu değişkenleri ayarlamak isteğe bağlıdır. Bunları ayarlarsanız, Edge Mikro Ağ Geçidi'ni yapılandırmak ve başlatmak için Komut Satırı Arayüzü'nü (CLI) kullanırken değerlerini belirtmeniz gerekmez.

Edge Mikro Ağ Geçidi sunucusunda SSL'yi yapılandırma

Mikro ağ geçidi sunucusunu SSL kullanacak şekilde yapılandırabilirsiniz. Örneğin, SSL yapılandırılmış durumdayken API'leri "https" protokolüyle Edge Microgateway üzerinden şunun gibi çağırabilirsiniz:

https://localhost:8000/myapi

Mikro ağ geçidi sunucusunda SSL'yi yapılandırmak için şu adımları uygulayın:

  1. openssl yardımcı programını veya tercih ettiğiniz yöntemi kullanarak bir SSL sertifikası ve anahtarı oluşturun ya da alın.
  2. Edge Microgateway yapılandırma dosyasına edgemicro:ssl özelliğini ekleyin. Seçeneklerin tam listesi için aşağıdaki tabloya bakın. Edge Microgateway yapılandırmasını değiştirmeyle ilgili ayrıntılar için Yapılandırma değişiklikleri yapma bölümüne bakın. Örneğin:
     edgemicro:
         ssl:
             key: <absolute path to the SSL key file>
             cert: <absolute path to the SSL cert file>
             passphrase: admin123 #option added in v2.2.2
             rejectUnauthorized: true #option added in v2.2.2
             requestCert: true 
    
  3. Edge Mikro Ağ Geçidi'ni yeniden başlatın. Düzenlediğiniz yapılandırma dosyasına (varsayılan dosya veya çalışma zamanı yapılandırma dosyası) bağlı olarak Yapılandırma değişiklikleri yapma bölümünde açıklanan adımları uygulayın.

Yapılandırma dosyasının SSL yapılandırılmış haldeki Edgemicro bölümüne bir örnek aşağıda verilmiştir:

edgemicro:
  port: 8000
  max_connections: 1000
  max_connections_hard: 5000
  logging:
    level: error
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24
  plugins:
    sequence:
      - oauth
  ssl:
    key: /MyHome/SSL/em-ssl-keys/server.key
    cert: /MyHome/SSL/em-ssl-keys/server.crt
    passphrase: admin123 #option added in v2.2.2
    rejectUnauthorized: true #option added in v2.2.2

Desteklenen tüm sunucu seçeneklerinin listesi aşağıda verilmiştir:

Option Açıklama
key ca.key dosyasının yolu (PEM biçiminde).
cert ca.cert dosyasının yolu (PEM biçiminde).
pfx İstemcinin özel anahtarını, sertifikasını ve CA sertifikalarını PFX biçiminde içeren pfx dosyasının yolu.
passphrase Özel anahtar veya PFX parolasını içeren bir dize.
ca PEM biçimindeki güvenilir sertifikaların listesini içeren bir dosyanın yolu.
ciphers Kullanılacak şifreleri açıklayan, ":" ile ayrılmış bir dize.
rejectUnauthorized True (doğru) değerine ayarlanırsa sunucu sertifikası, sağlanan CA listesine göre doğrulanır. Doğrulama başarısız olursa bir hata döndürülür.
secureProtocol Kullanılacak SSL yöntemi. Örneğin, SSLv3_method [SSL'yi sürüm 3'e zorlamak için].
servername SNI (Sunucu Adı Göstergesi) TLS uzantısının sunucu adı.
requestCert 2 yönlü SSL için doğru; 1 yönlü SSL için false (yanlış)

İstemci SSL/TLS seçeneklerini kullanma

Hedef uç noktalarına bağlanırken Edge Microgateway'i TLS veya SSL istemcisi olacak şekilde yapılandırabilirsiniz. Mikro ağ geçidi yapılandırma dosyasında, SSL/TLS seçeneklerini ayarlamak için hedef öğeyi kullanın.

Bu örnekte, tüm ana makinelere uygulanacak ayarlar gösterilmektedir:

targets:
   ssl:
     client:
       key: /Users/jdoe/nodecellar/twowayssl/ssl/client.key
       cert: /Users/jdoe/nodecellar/twowayssl/ssl/ca.crt
       passphrase: admin123
       rejectUnauthorized: true

Bu örnekte, ayarlar yalnızca belirtilen ana makineye uygulanır:

targets:
   host: 'myserver.example.com'
   ssl:
     client:
       key: /Users/myname/twowayssl/ssl/client.key
       cert: /Users/myname/twowayssl/ssl/ca.crt
       passphrase: admin123
       rejectUnauthorized: true

Aşağıda bir TLS örneği verilmiştir:

targets:
   host: 'myserver.example.com'
   tls:
     client:
       pfx: /Users/myname/twowayssl/ssl/client.pfx
       passphrase: admin123
       rejectUnauthorized: true

Desteklenen tüm istemci seçeneklerinin listesini aşağıda bulabilirsiniz:

Option Açıklama
pfx İstemcinin özel anahtarını, sertifikasını ve CA sertifikalarını PFX biçiminde içeren pfx dosyasının yolu.
key ca.key dosyasının yolu (PEM biçiminde).
passphrase Özel anahtar veya PFX parolasını içeren bir dize.
cert ca.cert dosyasının yolu (PEM biçiminde).
ca PEM biçimindeki güvenilir sertifikaların listesini içeren bir dosyanın yolu.
ciphers Kullanılacak şifreleri açıklayan, ":" ile ayrılmış bir dize.
rejectUnauthorized True (doğru) değerine ayarlanırsa sunucu sertifikası, sağlanan CA listesine göre doğrulanır. Doğrulama başarısız olursa bir hata döndürülür.
secureProtocol Kullanılacak SSL yöntemi. Örneğin, SSLv3_method [SSL'yi sürüm 3'e zorlamak için].
servername SNI (Sunucu Adı Göstergesi) TLS uzantısının sunucu adı.

Uç mikro kimlik doğrulama proxy'sini özelleştirme

Edge Microgateway, OAuth2 kimlik doğrulaması için varsayılan olarak Apigee Edge'de dağıtılan bir proxy kullanır. Bu proxy, edgemicro configure uygulamasını ilk kez çalıştırdığınızda dağıtılır. Bu proxy'nin varsayılan yapılandırmasını değiştirerek JSON Web Token'a (JWT) özel talepler desteği ekleyebilir, jeton geçerlilik süresini yapılandırabilir ve yenileme jetonları oluşturabilirsiniz. Ayrıntılar için GitHub'daki edgemicro-auth sayfasını inceleyin.

Özel bir kimlik doğrulama hizmeti kullanma

Edge Microgateway, OAuth2 kimlik doğrulaması için varsayılan olarak Apigee Edge'de dağıtılan bir proxy kullanır. Bu proxy, edgemicro configure uygulamasını ilk kez çalıştırdığınızda dağıtılır. Varsayılan olarak bu proxy'nin URL'si Edge Microgateway yapılandırma dosyasında şu şekilde belirtilir:

authUri: https://myorg-myenv.apigee.net/edgemicro-auth

Kimlik doğrulama işlemi için kendi özel hizmetinizi kullanmak istiyorsanız yapılandırma dosyasındaki authUri değerini hizmetinize işaret edecek şekilde değiştirin. Örneğin, kimliği doğrulamak için LDAP kullanan bir hizmetiniz olabilir.

Günlük dosyalarını yönetme

Edge Microgateway, her istek ve yanıtla ilgili bilgileri günlüğe kaydeder. Günlük dosyaları, hata ayıklama ve sorun giderme için yararlı bilgiler sağlar.

Günlük dosyalarının depolandığı konum

Varsayılan olarak, günlük dosyaları /var/tmp içinde depolanır.

Varsayılan günlük dosyası dizini nasıl değiştirilir?

Günlük dosyalarının depolandığı dizin, Edge Microgateway yapılandırma dosyasında belirtilir. Yapılandırma değişiklikleri yapmayla ilgili ayrıntılar için Yapılandırma değişiklikleri yapma başlıklı makaleye bakın.

edgemicro:
  home: ../gateway
  port: 8000
  max_connections: -1
  max_connections_hard: -1
  logging:
    level: info
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24

Farklı bir günlük dosyası dizini belirtmek için dir değerini değiştirin.

Günlükleri konsola gönder

Günlük kaydını, günlük bilgileri günlük dosyası yerine standart çıkışa gönderilecek şekilde yapılandırabilirsiniz. to_console işaretini aşağıdaki şekilde true (doğru) değerine ayarlayın:

edgemicro:
  logging:
    to_console: true  

Bu ayarla, günlükler standart çıkışa gönderilir. Şu anda hem stdout'a hem de bir günlük dosyasına günlük gönderemezsiniz.

Günlük kaydı düzeyini ayarlama

Şu günlük düzeylerini ayarlayabilirsiniz: bilgi, uyarı ve hata. Bilgi düzeyi önerilir. Tüm API isteklerini ve yanıtlarını günlüğe kaydeder ve varsayılan ayardır.

Günlük aralıklarını değiştirme

Bu aralıkları Edge Microgateway yapılandırma dosyasında yapılandırabilirsiniz. Yapılandırma değişiklikleri yapmayla ilgili ayrıntılar için Yapılandırma değişiklikleri yapma bölümüne bakın.

Yapılandırılabilir özellikler şunlardır:

  • stats_log_interval: (varsayılan: 60) İstatistik kaydının API günlük dosyasına yazıldığı aralık (saniye cinsinden).
  • rotate_interval: (varsayılan: 24) Günlük dosyalarının döndürüldüğü saat cinsinden aralık. Örneğin:
edgemicro:
  home: ../gateway
  port: 8000
  max_connections: -1
  max_connections_hard: -1
  logging:
    level: info
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24

Not: Arşivlenen günlük dosyaları sıkıştırılmaz. Aralık başladığında, yeni bir zaman damgasıyla yeni bir günlük dosyası oluşturulur.

Günlük dosyası bakımıyla ilgili iyi uygulamalar

Günlük dosyası verileri zamanla biriktikçe Apigee, aşağıdaki uygulamalardan yararlanmanızı önerir:

  • Günlük dosyaları oldukça büyüyebileceğinden, günlük dosyası dizininde yeterli alan bulunduğundan emin olun. Aşağıdaki Günlük dosyalarının depolandığı ve Varsayılan günlük dosyası dizinini değiştirme bölümlerine bakın.
  • Haftada en az bir kez günlük dosyalarını silin veya ayrı bir arşiv dizinine taşıyın.
  • Politikanız günlükleri silmekse daha eski günlükleri kaldırmak (temizlemek) için edgemicro log -c CLI komutunu kullanabilirsiniz.

Günlük dosyası adlandırma kuralı

Her bir Edge Microgateway örneği, üç tür günlük dosyası oluşturur:

  • api: Edge Mikro Ağ Geçidi üzerinden gelen tüm istek ve yanıtları günlüğe kaydeder. API sayaçları (istatistikler) ve hatalar da bu dosyaya kaydedilir.
  • err - Stderr'e gönderilen her şeyi günlüğe kaydeder.
  • out: Stdout'a gönderilen her şeyi günlüğe kaydeder.

Adlandırma kuralı şöyledir:

edgemicro-<Host Name>-<Instance ID>-<Log Type>.log

Örneğin:

edgemicro-mymachine-local-MTQzNTgNDMxODAyMQ-api.log
edgemicro-mymachine-local-MTQzNTg1NDMODAyMQ-err.log
edgemicro-mymachine-local-mtqzntgndmxodaymq-out.log

Günlük dosyası içeriği hakkında

Eklendiği sürüm: 2.3.3 sürümü

Varsayılan olarak günlük kaydı hizmeti; indirilen proxy'lerin, ürünlerin ve JSON Web Token'ın (JWT) JSON'sini atlar. Bu nesnelerin çıktısını günlük dosyalarına kaydetmek istiyorsanız Edge Microgateway'i başlattığınızda DEBUG=* değerini ayarlayın. Örneğin:

DEBUG=* edgemicro start -o docs -e test -k abc123 -s xyz456

Not: Windows'da SET DEBUG=* kullanın

"api" günlük dosyasının içeriği

"api" günlük dosyası, Edge Microgateway üzerinden istek ve yanıt akışı hakkında ayrıntılı bilgiler içerir. "api" günlük dosyaları şöyle adlandırılır:

edgemicro-mymachine-local-MTQzNjIxOTk0NzY0Nw-api.log

Edge Mikro Ağ Geçidi'ne yapılan her istek için "api" günlük dosyasında dört etkinlik yakalanır:

  • İstemciden gelen istek
  • Hedefe giden istek gönderildi
  • Hedeften gelen yanıt
  • İstemciye giden yanıt

Bu ayrı girişlerin her biri, günlük dosyalarını daha kompakt hale getirmeye yardımcı olması için kısaltma olarak gösterilir. Aşağıda, bu dört etkinliğin her birini temsil eden dört örnek giriş verilmiştir. Günlük dosyasında aşağıdaki gibi görünürler (satır numaraları yalnızca dokümanda referans olarak verilmiştir, günlük dosyasında görünmez).

(1) 1436403888651 info req m=GET, u=/, h=localhost:8000, r=::1:59715, i=0
(2) 1436403888665 info treq m=GET, u=/, h=127.0.0.18080, i=0
(3) 1436403888672 info tres s=200, d=7, i=0
(4) 1436403888676 info res s=200, d=11, i=0

Bunları tek tek inceleyelim:

1. İstemciden gelen istek örneği:

1436403888651 info req m=GET, u=/, h=localhost:8000, r=::1:59715, i=0
  • 1436403888651 - Unix tarih damgası
  • bilgi: Bağlama göre değişir. Günlük düzeyine bağlı olarak bilgi, uyarı veya hata olabilir. İstatistik kaydı, uyarılar için uyarı veya hata için hata istatistikleri olabilir.
  • req - Etkinliği tanımlar. Bu durumda istemciden istekte bulunun.
  • m - İstekte kullanılan HTTP fiili.
  • u - URL'nin temel yolu izleyen bölümü.
  • h - Edge Microgateway'in dinlediği ana makine ve bağlantı noktası numarası.
  • r: İstemci isteğinin kaynağı olan uzak ana makine ve bağlantı noktası.
  • i: İstek kimliği. Dört etkinlik girişinin tümü bu kimliği paylaşır. Her isteğe benzersiz bir istek kimliği atanır. Günlük kayıtlarının istek kimliğine göre ilişkilendirilmesi, hedefin gecikmesi hakkında değerli bilgiler sağlayabilir.
  • d - İsteğin Edge Microgateway tarafından alınmasından bu yana geçen milisaniye cinsinden süre. Yukarıdaki örnekte, hedefin istek 0 için verdiği yanıt 7 milisaniye sonra (3. satır) alındı ve yanıt 4 milisaniye sonra da istemciye gönderildi (satır 4). Diğer bir deyişle, toplam istek gecikmesi 11 milisaniyeydi. Bunun 7 milisaniyesi hedef tarafından alındı ve Edge Microgateway tarafından 4 milisaniye alındı.

2. Hedefe yapılan giden istek örneği:

1436403888665 info treq m=GET, u=/, h=127.0.0.1:8080, i=0
  • 1436403888651 - Unix tarih damgası
  • bilgi: Bağlama göre değişir. Günlük düzeyine bağlı olarak bilgi, uyarı veya hata olabilir. İstatistik kaydı, uyarılar için uyarı veya hata için hata istatistikleri olabilir.
  • treq - Etkinliği tanımlar. Bu durumda, isteği hedefleyin.
  • m - Hedef istekte kullanılan HTTP fiili.
  • u - URL'nin temel yolu izleyen bölümü.
  • h: Arka uç hedefinin ana makine ve bağlantı noktası numarası.
  • i: Günlük girişinin kimliği. Dört etkinlik girişinin tümü bu kimliği paylaşır.

3. Hedeften gelen yanıt örneği

1436403888672 info tres s=200, d=7, i=0

1436403888651 - Unix tarih damgası

  • bilgi: Bağlama göre değişir. Günlük düzeyine bağlı olarak bilgi, uyarı veya hata olabilir. İstatistik kaydı, uyarılar için uyarı veya hata için hata istatistikleri olabilir.
  • tres: Etkinliği tanımlar. Bu durumda, hedef yanıt.
  • s: HTTP yanıt durumu.
  • d - Milisaniye cinsinden süre. Hedef tarafından API çağrısı için harcanan süredir.
  • i: Günlük girişinin kimliği. Dört etkinlik girişinin tümü bu kimliği paylaşır.

4. İstemciye giden yanıt örneği

1436403888676 info res s=200, d=11, i=0

1436403888651 - Unix tarih damgası

  • bilgi: Bağlama göre değişir. Günlük düzeyine bağlı olarak bilgi, uyarı veya hata olabilir. İstatistik kaydı, uyarılar için uyarı veya hata için hata istatistikleri olabilir.
  • res - Etkinliği tanımlar. Bu durumda istemciye yanıt verilir.
  • s: HTTP yanıt durumu.
  • d - Milisaniye cinsinden süre. Bu, hedef API'nin ve Edge Microgateway'in harcadığı süre de dahil olmak üzere API çağrısı için harcanan toplam süreyi ifade eder.
  • i: Günlük girişinin kimliği. Dört etkinlik girişinin tümü bu kimliği paylaşır.

Günlük dosyası programı

Günlük dosyaları, rotate_interval yapılandırma özelliği tarafından belirtilen aralıklarla döndürülür. Rotasyon aralığı sona erene kadar girişler aynı günlük dosyasına eklenmeye devam eder. Ancak, Edge Mikro Ağ Geçidi her yeniden başlatıldığında yeni bir UID alır ve bu UID ile yeni bir günlük dosyası grubu oluşturur. Ayrıca bkz. İyi günlük dosyası bakım uygulamaları.

Edge Mikro Ağ Geçidi yapılandırma referansı

Yapılandırma dosyasının konumu

Bu bölümde açıklanan yapılandırma özellikleri, Edge Microgateway yapılandırma dosyasında bulunur. Yapılandırma değişiklikleri yapmayla ilgili ayrıntılar için Yapılandırma değişiklikleri yapma başlıklı makaleye bakın.

Edge_config özellikleri

Bu ayarlar, Edge Microgateway örneği ile Apigee Edge arasındaki etkileşimi yapılandırmak için kullanılır.

  • bootstrap: (varsayılan: yok) Apigee Edge'de çalışan Edge Microgateway'e özgü bir hizmeti işaret eden URL. Edge Microgateway, Apigee Edge ile iletişim kurmak için bu hizmeti kullanır. Bu URL, herkese açık/özel anahtar çiftini oluşturma komutunu yürüttüğünde döndürülür: edgemicro genkeys. Ayrıntılar için Edge Microgateway'i kurma ve yapılandırma konusuna bakın.
  • jwt_public_key: (varsayılan: none) Apigee Edge'de dağıtılan Edge Microgateway proxy'sine işaret eden bir URL. Bu proxy, istemcilere imzalı erişim jetonları vermek için kimlik doğrulama uç noktası görevi görür. Bu URL, proxy'yi dağıtma komutunu yürütürken döndürülür: edgemicro yapılandırır. Ayrıntılar için Edge Microgateway'i kurma ve yapılandırma konusuna bakın.

Edgemicro özellikleri

Bu ayarlar, Edge Mikro Ağ Geçidi işlemini yapılandırır.

  • port: (varsayılan: 8000) Edge Microgateway işleminin dinlediği bağlantı noktası numarası.
  • max_connections: (varsayılan: -1) Edge Mikro Ağ Geçidi'nin alabileceği maksimum eş zamanlı gelen bağlantı sayısını belirtir. Bu sayı aşılırsa aşağıdaki durum döndürülür:

    res.statusCode = 429; // Too many requests
  • max_connections_hard: (varsayılan: -1) Edge Microgateway'in bağlantıyı kapatmadan önce alabileceği maksimum eş zamanlı istek sayısı. Bu ayar, hizmet reddi saldırılarını engellemek için tasarlanmıştır. Genellikle bu değeri max_connects değerinden büyük bir sayıya ayarlayın.
  • günlük kaydı:
    • level: (varsayılan: hata)
      • info - Edge Microgateway örneği üzerinden gelen tüm istekleri ve yanıtları günlüğe kaydeder.
      • warn: Yalnızca uyarı mesajlarını günlüğe kaydeder.
      • error - Yalnızca hata iletilerini günlüğe kaydeder.
    • dir: (varsayılan: /var/tmp) Günlük dosyalarının depolandığı dizin.
    • stats_log_interval: (varsayılan: 60) İstatistik kaydının API günlük dosyasına yazıldığı aralık (saniye cinsinden).
    • rotate_interval: (varsayılan: 24) Günlük dosyalarının döndürüldüğü saat cinsinden aralık.
  • eklentiler: Eklentiler, Edge Mikro Ağ Geçidi'ne işlev ekler. Eklenti geliştirmeyle ilgili ayrıntılı bilgi için Özel eklentiler geliştirme sayfasına bakın.
  • dir: ./gateway dizininden ./plugins dizinine giden göreli bir yol veya mutlak bir yol.
  • sequence: Edge Microgateway örneğinize eklenecek eklenti modüllerinin listesi. Modüller burada belirtildikleri sırayla yürütülür.
  • debug: Edge Mikro Ağ Geçidi işlemine uzaktan hata ayıklama ekler.
    • bağlantı noktası: Dinlenecek bağlantı noktası numarası. Örneğin, IDE hata ayıklayıcınızı bu bağlantı noktasını dinleyecek şekilde ayarlayın.
    • args: Hata ayıklama işlemine yönelik bağımsız değişkenler. Örneğin: args --nolazy
  • config_change_poll_interval: (varsayılan: 600 saniye) Edge Microgateway, düzenli olarak yeni bir yapılandırma yükler ve herhangi bir değişiklik olursa yeniden yükleme gerçekleştirir. Yoklama, Edge'de yapılan tüm değişiklikleri (ürünler, mikro ağ geçidini fark eden proxy'ler vb.) ve yerel yapılandırma dosyasında yapılan değişiklikleri alır.
  • disable_config_poll_interval: (varsayılan: false) Otomatik değişiklik yoklamayı devre dışı bırakmak için true olarak ayarlayın.
  • request_timeout: Hedef istekler için bir zaman aşımı ayarlar. Zaman aşımı saniye cinsinden ayarlanır. Bir zaman aşımı oluşursa Edge Mikro Ağ Geçidi 504 durum koduyla yanıt verir. (v2.4.x eklendi)

başlık özellikleri

Bu ayarlar belirli HTTP üstbilgilerinin nasıl ele alınacağını yapılandırır.

  • x-forwarded-for: (varsayılan: true) x-forwarded-for üstbilgilerinin hedefe iletilmesini önlemek için false olarak ayarlayın. İstekte x-forwarded-for başlığı varsa değerinin Edge Analytics'teki istemci IP'si olarak ayarlanacağını unutmayın.
  • x-forwarded-host: (varsayılan: true) x-forwarded-host başlıklarının hedefe aktarılmasını önlemek için false olarak ayarlayın.
  • x-request-id: (varsayılan: true) x-request-id üstbilgilerinin hedefe iletilmesini önlemek için false olarak ayarlayın.
  • x-Response-time: (varsayılan: true) x-Response-time başlıklarının hedefe aktarılmasını önlemek için false olarak ayarlayın.
  • via: (varsayılan: true) Üstbilgiler aracılığıyla hedefe iletilmesini önlemek için false olarak ayarlayın.

oauth özellikleri

Bu ayarlar, istemci kimlik doğrulamasının Edge Mikro Ağ Geçidi tarafından nasıl zorunlu kılınacağını yapılandırır.

  • allowNoAuthorization: (varsayılan: false) Doğru değerine ayarlanırsa API çağrılarının herhangi bir Yetkilendirme başlığı olmadan Edge Mikro Ağ Geçidi'nden geçmesine izin verilir. Yetkilendirme üst bilgisini zorunlu kılmak için bunu false (yanlış) değerine ayarlayın (varsayılan).
  • allowInvalidAuthorization: (varsayılan: false) Doğru değerine ayarlanırsa Yetkilendirme başlığında iletilen jetonun geçersiz olması veya süresinin dolması halinde API çağrılarının geçmesine izin verilir. Geçerli jetonları zorunlu kılmak için (varsayılan) bu değeri false olarak ayarlayın.
  • authorization-header: (varsayılan: Yetkilendirme: Bearer) Erişim jetonunu Edge Mikro Ağ Geçidi'ne göndermek için kullanılan başlık. Hedefin başka bir amaçla Yetkilendirme başlığını kullanması gerektiği durumlarda varsayılan değeri değiştirmek isteyebilirsiniz.
  • api-key-header: (varsayılan: x-api-key) Edge Mikro Ağ Geçidi'ne bir API anahtarı iletmek için kullanılan üstbilgi veya sorgu parametresinin adı. Ayrıca bkz. API anahtarı kullanma.
  • keepAuthHeader: (varsayılan: false) Doğru değerine ayarlanırsa istekte gönderilen Yetkilendirme başlığı hedefe aktarılır (korunur).
  • allowOAuthOnly -- Doğru değerine ayarlanırsa her API'nin, Taşıyıcı Erişim Jetonu içeren bir Yetkilendirme başlığı taşıması gerekir. Yalnızca OAuth güvenlik modeline izin vermenize olanak tanır (geriye dönük uyumluluğu korurken). (4.2.x eklendi)
  • allowAPIKeyOnly -- Doğru değerine ayarlanırsa her API, API Anahtarına sahip bir x-api-key başlığı (veya özel bir konum) taşımalıdır.Yalnızca API anahtarı güvenlik modeline izin vermenize olanak tanır (geriye dönük uyumluluğu korurken). (4.2.x sürümü eklendi)

Eklentiye özgü özellikler

Her bir eklentinin yapılandırılabilir özellikleriyle ilgili ayrıntılar için Eklentileri kullanma konusuna bakın.

Proxy'leri filtreleme

Bir Edge Microgateway örneğinin hangi mikro ağ geçidi duyarlı proxy'leri işleyeceğini filtreleyebilirsiniz. Edge Mikro Ağ Geçidi başladığında, ilişkili olduğu kuruluştaki mikro ağ geçidi duyarlı tüm proxy'leri indirir. Mikro ağ geçidinin hangi proxy'leri işleyeceğini sınırlamak için aşağıdaki yapılandırmayı kullanın. Örneğin, bu yapılandırma, mikro ağ geçidinin işleyeceği proxy'leri üç taneyle sınırlandırır: edgemicro_proxy-1, edgemicro_proxy-2 ve edgemicro_proxy-3:

proxies:
  - edgemicro_proxy-1
  - edgemicro_proxy-2
  - edgemicro_proxy-3

Analiz verilerini maskeleme

Aşağıdaki yapılandırma, istek yolu bilgilerinin Edge analizinde gösterilmesini engeller. İstek URI'sını ve/veya istek yolunu maskelemek için mikro ağ geçidi yapılandırmasına aşağıdakileri ekleyin. URI'nın, isteğin ana makine adı ve yol bölümlerinden oluştuğunu unutmayın.

analytics:
  mask_request_uri: 'string_to_mask'
  mask_request_path: 'string_to_mask'

Edge Mikro Ağ Geçidi'ni bir şirket güvenlik duvarının arkasında kurma

Sürüm 4.2.x desteklenir

Edge Microgateway bir güvenlik duvarının arkasına kurulmuşsa ağ geçidi Apigee Edge ile iletişim kuramayabilir. Bu durumda göz önünde bulundurabileceğiniz iki seçenek vardır:

1. Seçenek:

İlk seçenek, Edgemicro: proxy_tunnel seçeneğini, microgateway yapılandırma dosyasında true olarak ayarlamaktır:

edge_config:

    proxy: http://10.224.16.85:3128
    proxy_tunnel: true

proxy_tunnel değeri true olduğunda Edge Microgateway, HTTP isteklerini tek bir TCP bağlantısı üzerinden tünellemek için HTTP CONNECT yöntemini kullanır. (Proxy'yi yapılandırmak için kullanılan ortam değişkenleri TLS etkinleştirilmişse de aynı durum söz konusudur.)

2. Seçenek:

İkinci seçenek, bir proxy belirlemek ve microgateway yapılandırma dosyasında proxy_tunnel değerini false olarak ayarlamaktır. Örneğin:

edge_config:
     proxy: http://10.224.16.85:3128
     proxy_tunnel: false

Bu durumda, kullanmak istediğiniz her bir HTTP proxy'nin ana makinelerini veya Edge Microgateway proxy'lerini işlememesi gereken ana makineleri kontrol etmek için şu değişkenleri ayarlayabilirsiniz: HTTP_PROXY, HTTPS_PROXY ve NO_PROXY.

NO_PROXY alanını, Edge Microgateway'in proxy yapmaması gereken alanların virgülle ayrılmış bir listesi olarak ayarlayabilirsiniz. Örneğin:

export NO_PROXY='localhost,localhost:8080'

HTTP_PROXY ve HTTPS_PROXY öğelerini, Edge Microgateway'in bu HTTP proxy uç noktasına mesaj gönderebileceği şekilde ayarlayın. Örneğin:

export HTTP_PROXY='http://localhost:3786'

export HTTPS_PROXY='https://localhost:3786'

Bu değişkenler hakkında daha fazla bilgi için aşağıdaki konulara bakın:

https://www.npmjs.com/package/request#controlling-proxy-behaviour-using-environment-variables


Aşağıdaki kaynakları da incelemenizi öneririz:

Apigee Topluluğu'nda Edge Microgateway'i şirket güvenlik duvarının arkasına kurma ile ilgili makaleyi inceleyin.

Mikro ağ geçidi duyarlı proxy'lerde joker karakterler kullanma

edgemicro_* (Mikro ağ geçidine duyarlı) proxy'nin temel yolunda bir veya daha fazla "*" joker karakteri kullanabilirsiniz. Örneğin, temel bir /team/*/members yolu, yeni ekipleri desteklemek için yeni API proxy'leri oluşturmanıza gerek kalmadan istemcilerin https://[host]/team/blue/members ve https://[host]/team/green/members adreslerini çağırmasına olanak tanır. /**/ özelliğinin desteklenmediğini unutmayın.

Önemli: Apigee, temel yolun ilk öğesi olarak "*" joker karakterini kullanmayı DESTEKLEMEZ. Örneğin şu DESTEKLENMEZ: /*/ araması.


Hata Ayıklama ve Sorun Giderme

Hata ayıklayıcıya bağlanma

Edge Microgateway'i düğüm inceleyici gibi bir hata ayıklayıcıyla çalıştırabilirsiniz. Bu işlem, özel eklentilerle ilgili sorunları gidermek ve hata ayıklamak için yararlıdır.

  1. Edge Microgateway'i hata ayıklama modunda yeniden başlatın. Bunu yapmak için, başlat komutunun başına DEBUG=* ifadesini ekleyin. Örneğin:

    DEBUG=* edgemicro start -o myorg -e test -k db4e9e8a95aa7fabfdeacbb1169d0a8cbe42bec19c6b98129e02 -s 6e56af7c1b26dfe93dae78a735c8afc9796b077d105ae5618ce7ed

    Not: Windows'da SET DEBUG=* kullanın

  2. Hata ayıklayıcınızı başlatın ve hata ayıklama işlemi için bağlantı noktası numarasını dinleyecek şekilde ayarlayın.
  3. Artık Edge Microgateway kodu üzerinde adım adım çalışabilir, kesme noktaları ayarlayabilir, ifadeler izleyebilir ve daha pek çok işlem yapabilirsiniz.

Hata ayıklama moduyla ilgili standart Node.js işaretlerini belirtebilirsiniz. Örneğin --nolazy, eşzamansız kodda hata ayıklamaya yardımcı olur.

Günlük dosyaları kontrol ediliyor

Sorun yaşıyorsanız, yürütme ayrıntıları ve hata bilgileri için günlük dosyalarını incelediğinizden emin olun. Ayrıntılar için Günlük dosyalarını yönetme sayfasına bakın.

API anahtarı güvenliğini kullanma

API anahtarları, Edge Microgateway'e istekte bulunan istemcilerin kimliğini doğrulamak için basit bir mekanizma sağlar. Edge Microgateway kimlik doğrulama proxy'sini içeren bir Apigee Edge ürününden Tüketici Anahtarı (İstemci Kimliği olarak da adlandırılır) değerini kopyalayarak API anahtarı alabilirsiniz.

Anahtarların önbelleğe alınması

API anahtarları, önbelleğe alınan hamiline ait jetonlarla değiştirilir. Edge Mikro Ağ Geçidi'ne gelen isteklerde Cache-Control: no-cache üst bilgisini ayarlayarak önbelleğe almayı devre dışı bırakabilirsiniz.

OAuth2 jeton güvenliğini kullanma

Proxy istekleriyle OAuth jetonu kullanma hakkında ayrıntılı bilgi için Secure Edge Mikro Ağ Geçidi başlıklı makaleye bakın.

API anahtarı kullanma

API anahtarlarını proxy istekleriyle kullanma hakkında ayrıntılı bilgi için Secure Edge Mikro Ağ Geçidi sayfasına bakın.

API anahtarı adını yapılandırma

Varsayılan olarak x-api-key, API anahtarı başlığı veya sorgu parametresi için kullanılan addır. Bu varsayılan değeri, Yapılandırma değişiklikleri yapma bölümünde açıklandığı şekilde yapılandırma dosyasında değiştirebilirsiniz. Örneğin, adı apiKey olarak değiştirmek için:

oauth:
 allowNoAuthorization: false
 allowInvalidAuthorization: false
 api-key-header: apiKey