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 v. 2.4.x

Genel Bakış

Bu konuda, izleme, günlük kaydı ve hata ayıklama dahil olmak üzere Edge Microgateway'in nasıl yönetileceği ve yapılandırılacağı açıklanmaktadı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 bir 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ştirme hakkında bilmeniz gerekenler ele alınmaktadır. Yapılandırma dosyası ayarları hakkında ayrıntılı bilgi için Edge Microgateway yapılandırma referansı başlıklı makaleyi inceleyin.

Varsayılan sistem yapılandırması dosyası

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

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

Burada [prefix], npm ön eki dizinidir. Edge Microgateway nereye yüklenir? başlıklı makaleyi inceleyin.

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 komutunu çalıştırdığınızda sistem yapılandırma dosyası (yukarıda açıklanmıştır), default.yaml, şu dizine yerleştirilir: ~/.edgemicro

~/.edgemicro konumundaki yapılandırma dosyasını değiştirirseniz Edge Microgateway'i yeniden yapılandırıp 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] komutunu çalıştırdığınızda ~/.edgemicro içinde dinamik bir yapılandırma dosyası oluşturulur. Dosya, [org]-[env]-config.yaml şablonuna göre adlandırılır. Burada org ve env, Apigee Edge kuruluşunuzun ve ortamınızın adlarıdır. Bu dosyayı kullanarak yapılandırma değişiklikleri yapabilir ve ardından bunları sıfır kapalı kalma süresiyle yeniden yükleyebilirsiniz. Örneğin, bir eklenti ekleyip yapılandırırsanız aşağıda açıklandığı gibi herhangi bir kapalı kalma süresi yaşamadan yapılandırmayı yeniden yükleyebilirsiniz.

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

  1. Edge Microgateway 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 (ör. test veya üretim).
    • key, daha önce configure komutuyla döndürülen anahtardır.
    • secret, daha önce yapılandırma komutu tarafından döndürülen anahtardır.

    Örnek

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

Edge Microgateway durdurulursa:

  1. Edge Microgateway'i 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 (ör. test veya üretim).
    • key, daha önce configure komutuyla döndürülen anahtardır.
    • secret, daha önce yapılandırma 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ı hakkında ayrıntılı bilgi için Edge Microgateway yapılandırma referansı başlıklı makaleyi inceleyin.

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ğerler gerektiren komut satırı arayüzü komutları ile Edge Microgateway'i başlatmak için gereken anahtar ve gizli anahtar şu ortam değişkenlerinde saklanabilir:

  • EDGEMICRO_ORG
  • EDGEMICRO_ENV
  • EDGEMICRO_KEY
  • EDGEMICRO_SECRET

Bu değişkenleri ayarlamak isteğe bağlıdır. Bu parametreleri ayarlarsanız Edge Microgateway'i yapılandırmak ve başlatmak için komut satırı arayüzünü (CLI) kullandığınızda değerlerini belirtmeniz gerekmez.

Edge Microgateway sunucusunda SSL'yi yapılandırma

Microgateway sunucusunu SSL kullanacak şekilde yapılandırabilirsiniz. Örneğin, SSL yapılandırılmışken Edge Microgateway üzerinden API'leri "https" protokolüyle şu şekilde çağırabilirsiniz:

https://localhost:8000/myapi

Microgateway sunucusunda SSL'yi yapılandırmak için aşağıdaki 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 edinin.
  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ştirme hakkında ayrıntılı bilgi için Yapılandırma değişiklikleri yapma başlıklı makaleyi inceleyin. Ö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 Microgateway'i yeniden başlatın. Hangi yapılandırma dosyasını düzenlediğinize bağlı olarak Yapılandırma değişiklikleri yapma bölümünde belirtilen adımları uygulayın: varsayılan dosya veya çalışma zamanı yapılandırma dosyası.

SSL yapılandırılmışken yapılandırma dosyasının edgemicro bölümünün bir örneğini burada bulabilirsiniz:

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 listesini aşağıda bulabilirsiniz:

Seçenek Açıklama
key ca.key dosyasının yolu (PEM biçiminde).
cert ca.cert dosyasının yolu (PEM biçiminde).
pfx PFX biçiminde özel anahtarı, sertifikayı ve istemcinin CA sertifikalarını içeren bir pfx dosyasının yolu.
passphrase Özel anahtar veya PFX için parola içeren bir dize.
ca PEM biçiminde güvenilen sertifikaların listesini içeren bir dosyanın yolu.
ciphers Kullanılacak şifreleri açıklayan, ":" ile ayrılmış bir dize.
rejectUnauthorized Doğruysa sunucu sertifikası, sağlanan CA'ların listesine göre doğrulanır. Doğrulama başarısız olursa hata döndürülür.
secureProtocol Kullanılacak SSL yöntemi. Örneğin, SSL'yi 3. sürüme zorlamak için SSLv3_method.
servername SNI (Sunucu Adı Göstergesi) TLS uzantısının sunucu adı.
requestCert 2 yönlü SSL için true, 1 yönlü SSL için false

İstemci SSL/TLS seçeneklerini kullanma

Hedef uç noktalara bağlanırken Edge Microgateway'i TLS veya SSL istemcisi olacak şekilde yapılandırabilirsiniz. Microgateway yapılandırma dosyasında, SSL/TLS seçeneklerini ayarlamak için hedefler öğesini kullanın.

Bu örnekte, tüm ana makinelere uygulanacak ayarlar sağlanmaktadır:

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

TLS için bir örnek:

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:

Seçenek Açıklama
pfx PFX biçiminde özel anahtarı, sertifikayı ve istemcinin CA sertifikalarını içeren bir pfx dosyasının yolu.
key ca.key dosyasının yolu (PEM biçiminde).
passphrase Özel anahtar veya PFX için parola içeren bir dize.
cert ca.cert dosyasının yolu (PEM biçiminde).
ca PEM biçiminde güvenilen sertifikaların listesini içeren bir dosyanın yolu.
ciphers Kullanılacak şifreleri açıklayan, ":" ile ayrılmış bir dize.
rejectUnauthorized Doğruysa sunucu sertifikası, sağlanan CA'ların listesine göre doğrulanır. Doğrulama başarısız olursa hata döndürülür.
secureProtocol Kullanılacak SSL yöntemi. Örneğin, SSL'yi 3. sürüme zorlamak için SSLv3_method.
servername SNI (Sunucu Adı Göstergesi) TLS uzantısının sunucu adı.

edgemicro-auth proxy'sini özelleştirme

Edge Microgateway, varsayılan olarak OAuth2 kimlik doğrulaması için Apigee Edge'e dağıtılan bir proxy kullanır. Bu proxy, edgemicro configure'yı 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 Jetonu'na (JWT) özel talepler için destek ekleyebilir, jeton geçerlilik süresini yapılandırabilir ve yenileme jetonları oluşturabilirsiniz. Ayrıntılar için GitHub'daki edgemicro-auth sayfasına bakın.

Özel kimlik doğrulama hizmeti kullanma

Edge Microgateway, varsayılan olarak OAuth2 kimlik doğrulaması için Apigee Edge'e dağıtılan bir proxy kullanır. Bu proxy, edgemicro configure'yı 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 aşağıdaki şekilde belirtilir:

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

Kimlik doğrulama işlemini kendi özel hizmetinizle yapmak istiyorsanız yapılandırma dosyasındaki authUri değerini hizmetinize yönlendirecek ş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 faydalı bilgiler sağlar.

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

Günlük dosyaları varsayılan olarak /var/tmp konumunda saklanır.

Varsayılan günlük dosyası dizinini değiştirme

Günlük dosyalarının depolandığı dizin, Edge Microgateway yapılandırma dosyasında belirtilir. Yapılandırma değişiklikleri yapma hakkında ayrıntılı bilgi için Yapılandırma değişiklikleri yapma başlıklı makaleyi inceleyin.

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

Günlük bilgilerinin bir günlük dosyasına değil, standart çıkışa gönderilmesi için günlüğü yapılandırabilirsiniz. to_console işaretini aşağıdaki gibi "true" olarak ayarlayın:

edgemicro:
  logging:
    to_console: true  

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

Günlük kaydı düzeyini ayarlama

Şu günlük düzeylerini ayarlayabilirsiniz: info, warn ve error. INFO düzeyinin kullanılması önerilir. Tüm API isteklerini ve yanıtlarını günlüğe kaydeder ve varsayılan seçenektir.

Değişiklik günlüğü aralıklarını değiştirme

Bu aralıkları Edge Microgateway yapılandırma dosyasında ayarlayabilirsiniz. Yapılandırma değişiklikleri yapma hakkında ayrıntılı bilgi için Yapılandırma değişiklikleri yapma başlıklı makaleyi inceleyin.

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 aralığı. Ö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şivlenmiş 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.

İyi günlük dosyası bakım uygulamaları

Günlük dosyası verileri zaman içinde biriktikçe Apigee aşağıdaki uygulamaları benimsemenizi önerir:

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

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

  • api: Edge Microgateway üzerinden geçen tüm istekleri ve yanıtları günlüğe kaydeder. API sayaçları (istatistikler) ve hatalar da bu dosyaya kaydedilir.
  • err: stderr'ye 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çerikleri hakkında

Eklendiği sürüm: 2.3.3

Varsayılan olarak, günlük kaydı hizmeti indirilen proxy'lerin, ürünlerin ve JSON Web Jetonu'nun (JWT) JSON'unu atlar. Bu nesneleri günlük dosyalarına çıkarmak istiyorsanız Edge Microgateway'i başlatırken DEBUG=* değerini ayarlayın. Örneğin:

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

Not: Windows'da SET DEBUG=* tuşunu 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ışıyla ilgili ayrıntılı bilgiler içerir. "api" günlük dosyaları şu şekilde adlandırılır:

edgemicro-mymachine-local-MTQzNjIxOTk0NzY0Nw-api.log

Edge Microgateway'e yapılan her istek için "api" günlük dosyasında dört etkinlik yakalanır:

  • İstemciden gelen istek
  • Hedefe giden istek yapıldı
  • Hedeften gelen yanıt
  • Müşteriye giden yanıt

Bu ayrı girişlerin her biri, günlük dosyalarını daha kompakt hale getirmek için kısa bir notasyonla gösterilir. Aşağıda, 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 amaçlıdır, 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. Müşteriden gelen istek örneği:

1436403888651 info req m=GET, u=/, h=localhost:8000, r=::1:59715, i=0
  • 1436403888651: Unix tarih damgası
  • info: Bağlama bağlıdır. Günlük düzeyine bağlı olarak bilgi, uyarı veya hata olabilir. İstatistik kaydı için istatistikler, uyarılar için uyarı veya hatalar için hata olabilir.
  • req: Etkinliği tanımlar. Bu durumda, istemciden isteyin.
  • m: İstekle kullanılan HTTP fiili.
  • u: URL'nin temel yoldan sonraki kısmı.
  • h: Edge Microgateway'in dinlediği ana makine ve bağlantı noktası numarası.
  • r: İstemci isteğinin geldiği 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ı istek kimliğine göre ilişkilendirmek, hedefin gecikmesi hakkında değerli bilgiler sağlayabilir.
  • d: İstek Edge Microgateway tarafından alındıktan sonra geçen süre (milisaniye cinsinden). Yukarıdaki örnekte, 0 numaralı isteğin hedef yanıtı 7 milisaniye sonra (3. satır) alınmış ve yanıt, 4 milisaniye daha geçtikten sonra (4. satır) istemciye gönderilmiştir. Başka bir deyişle, toplam istek gecikmesi 11 milisaniyeydi. Bunun 7 milisaniyesi hedef tarafından, 4 milisaniyesi ise Edge Microgateway'in kendisi tarafından kullanıldı.

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

1436403888665 info treq m=GET, u=/, h=127.0.0.1:8080, i=0
  • 1436403888651: Unix tarih damgası
  • info: Bağlama bağlıdır. Günlük düzeyine bağlı olarak bilgi, uyarı veya hata olabilir. İstatistik kaydı için istatistikler, uyarılar için uyarı veya hatalar için hata olabilir.
  • treq: Etkinliği tanımlar. Bu durumda hedef istek.
  • m: Hedef istekte kullanılan HTTP fiili.
  • u: URL'nin temel yoldan sonraki kısmı.
  • h: Arka uç hedefinin ana makinesi 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ıttan örnek

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

1436403888651: Unix tarih damgası

  • info: Bağlama bağlıdır. Günlük düzeyine bağlı olarak bilgi, uyarı veya hata olabilir. İstatistik kaydı için istatistikler, uyarılar için uyarı veya hatalar için hata olabilir.
  • tres: Etkinliği tanımlar. Bu durumda hedef yanıt.
  • s: HTTP yanıt durumu.
  • d: Süre (milisaniye cinsinden). Hedef tarafından API çağrısı için geçen süre.
  • i: Günlük girişinin kimliği. Dört etkinlik girişinin tümü bu kimliği paylaşır.

4. Müşteriye gönderilen yanıttan örnek

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

1436403888651: Unix tarih damgası

  • info: Bağlama bağlıdır. Günlük düzeyine bağlı olarak bilgi, uyarı veya hata olabilir. İstatistik kaydı için istatistikler, uyarılar için uyarı veya hatalar için hata olabilir.
  • res: Etkinliği tanımlar. Bu durumda, istemciye yanıt verilir.
  • s: HTTP yanıt durumu.
  • d: Süre (milisaniye cinsinden). Bu, hedef API'nin aldığı süre ve Edge Microgateway'in aldığı süre dahil olmak üzere API çağrısının aldığı toplam süredir.
  • 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ıkta döndürülür. Girişler, rotasyon aralığı sona erene kadar aynı günlük dosyasına eklenmeye devam eder. Ancak Edge Microgateway 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 İyi günlük dosyası bakımı uygulamaları başlıklı makaleyi de inceleyin.

Edge Microgateway yapılandırması 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 yapma hakkında ayrıntılı bilgi için Yapılandırma değişiklikleri yapma başlıklı makaleyi inceleyin.

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, ortak/özel anahtar çiftini oluşturma komutunu edgemicro genkeys çalıştırdığınızda döndürülür. Ayrıntılar için Edge Microgateway'i ayarlama ve yapılandırma başlıklı makaleyi inceleyin.
  • jwt_public_key: (varsayılan: yok) Apigee Edge'de dağıtılan Edge Microgateway proxy'sini işaret eden bir URL. Bu proxy, istemcilere imzalı erişim jetonları vermek için kimlik doğrulama uç noktası olarak işlev görür. Bu URL, proxy'yi dağıtma komutunu (edgemicro configure) yürüttüğünüzde döndürülür. Ayrıntılar için Edge Microgateway'i ayarlama ve yapılandırma başlıklı makaleyi inceleyin.

edgemicro özellikleri

Bu ayarlar, Edge Microgateway sürecini yapılandırır.

  • port: (varsayılan: 8000) Edge Microgateway sürecinin dinlediği bağlantı noktası numarası.
  • max_connections: (varsayılan: -1) Edge Microgateway'in 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_connections değerinden büyük bir sayıya ayarlayın.
  • logging:
    • level: (varsayılan: error)
      • info: Bir Edge Microgateway örneğinden geçen tüm istekleri ve yanıtları günlüğe kaydeder.
      • warn: Yalnızca uyarı mesajlarını günlüğe kaydeder.
      • error: Yalnızca hata mesajlarını 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 aralığı.
  • Eklentiler: Eklentiler, Edge Microgateway'e işlevsellik kazandırır. Eklenti geliştirme hakkında ayrıntılı bilgi için Özel eklentiler geliştirme başlıklı makaleyi inceleyin.
  • dir: ./gateway dizininden ./plugins dizinine giden göreli yol veya mutlak yol.
  • sequence: Edge Microgateway örneğinize eklenecek eklenti modüllerinin listesi. Modüller burada belirtilen sırayla yürütülür.
  • debug: Edge Microgateway işlemine uzaktan hata ayıklama ekler.
    • port: 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 sürecine iletilecek bağımsız değişkenler. Örneğin: args --nolazy
  • config_change_poll_interval: (varsayılan: 600 saniye) Edge Microgateway yeni bir yapılandırmayı düzenli olarak 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ünlerde, mikro ağ geçidi farkında olan proxy'lerde vb. yapılan değişiklikler) 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 yoklamasını devre dışı bırakmak için true olarak ayarlayın.
  • request_timeout: Hedef istekleri için zaman aşımı ayarlar. Zaman aşımı saniye cinsinden ayarlanır. Zaman aşımı gerçekleşirse Edge Microgateway, 504 durum koduyla yanıt verir. (2.4.x sürümünde eklendi)

başlık özellikleri

Bu ayarlar, belirli HTTP üstbilgilerinin nasıl işleneceğini yapılandırır.

  • x-forwarded-for: (varsayılan: doğru) x-forwarded-for başlıklarının hedefe iletilmesini önlemek için yanlış olarak ayarlayın. İstek içinde bir x-forwarded-for başlığı varsa değerinin Edge Analytics'teki client-ip değeri olarak ayarlanacağını unutmayın.
  • x-forwarded-host: (varsayılan: doğru) x-forwarded-host başlıklarının hedefe iletilmesini önlemek için yanlış olarak ayarlayın.
  • x-request-id: (varsayılan: doğru) x-request-id üstbilgilerinin hedefe iletilmesini önlemek için yanlış olarak ayarlayın.
  • x-response-time: (varsayılan: true) x-response-time üstbilgilerinin hedefe iletilmesini önlemek için false olarak ayarlayın.
  • via: (varsayılan: true) Hedefe via üstbilgilerinin iletilmesini önlemek için false olarak ayarlayın.

oauth özellikleri

Bu ayarlar, istemci kimlik doğrulamasının Edge Microgateway tarafından nasıl zorunlu kılınacağını yapılandırır.

  • allowNoAuthorization: (varsayılan: false) true olarak ayarlanırsa API çağrılarının, Edge Microgateway'den herhangi bir yetkilendirme başlığı olmadan geçmesine izin verilir. Yetkilendirme üstbilgisi gerektirmek için bunu false olarak ayarlayın (varsayılan).
  • allowInvalidAuthorization: (varsayılan: false) Doğru olarak ayarlanırsa, yetkilendirme üstbilgisinde iletilen jeton geçersiz veya süresi dolmuş olsa bile API çağrılarının iletilmesine izin verilir. Geçerli jetonların zorunlu olması için bu değeri false (yanlış) olarak ayarlayın (varsayılan).
  • authorization-header: (varsayılan: Authorization: Bearer) Erişim jetonunu Edge Microgateway'e göndermek için kullanılan üstbilgi. Hedefin, yetkilendirme üstbilgisini başka bir amaçla kullanması gerektiği durumlarda varsayılan değeri değiştirmek isteyebilirsiniz.
  • api-key-header: (varsayılan: x-api-key) Bir API anahtarını Edge Microgateway'e aktarmak için kullanılan başlığın veya sorgu parametresinin adı. API anahtarı kullanma başlıklı makaleyi de inceleyin.
  • keepAuthHeader: (varsayılan: false) True olarak ayarlanırsa istekte gönderilen yetkilendirme başlığı hedefe iletilir (korunur).
  • allowOAuthOnly: Doğru olarak ayarlanırsa her API, Hamiline Ait Erişim Jetonu içeren bir yetkilendirme başlığı taşımalıdır. Geriye dönük uyumluluğu korurken yalnızca OAuth güvenlik modeline izin vermenizi sağlar. (4.2.x sürümünde eklendi)
  • allowAPIKeyOnly: Doğru olarak ayarlanırsa her API, API anahtarıyla bir x-api-key üstbilgisi (veya özel bir konum) taşımalıdır.Geriye dönük uyumluluğu korurken yalnızca API anahtarı güvenlik modeline izin vermenizi sağlar. (4.2.x sürümünde eklendi)

Eklentiye özel özellikler

Her eklentinin yapılandırılabilir özellikleri hakkında ayrıntılı bilgi için Eklentileri kullanma başlıklı makaleyi inceleyin.

Filtreleme proxy'leri

Edge Microgateway örneğinin hangi microgateway'e duyarlı proxy'leri işleyeceğini filtreleyebilirsiniz. Edge Microgateway başlatıldığında, ilişkili olduğu kuruluştaki tüm microgateway'e duyarlı 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 üçle sınırlar: 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 Analytics'te görünmesini engeller. İstek URI'sini ve/veya istek yolunu maskelemek için mikro ağ geçidi yapılandırmasına aşağıdakileri ekleyin. URI'nin, 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 Microgateway'i şirket güvenlik duvarı arkasında ayarlama

Desteklenen v4.2.x

Edge Microgateway bir güvenlik duvarının arkasına yüklenirse 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, microgateway yapılandırma dosyasında edgemicro: proxy_tunnel seçeneğini true olarak ayarlamaktır:

edge_config:

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

proxy_tunnel true olduğunda Edge Microgateway, HTTP isteklerini tek bir TCP bağlantısı üzerinden tünel oluşturmak için HTTP CONNECT yöntemini kullanır. (Aynı durum, proxy'yi yapılandırmak için kullanılan ortam değişkenlerinde TLS etkinleştirilmişse de geçerlidir.)

2. Seçenek:

İkinci seçenek ise bir proxy belirtmek ve microgateway yapılandırma dosyasında proxy_tunnel'ı false olarak ayarlamaktır. Örneğin:

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

Bu durumda, kullanmak istediğiniz her HTTP proxy'sinin ana makinelerini veya hangi ana makinelerin Edge Microgateway proxy'lerini işlememesi gerektiğini kontrol etmek için şu değişkenleri ayarlayabilirsiniz: HTTP_PROXY, HTTPS_PROXY ve NO_PROXY.

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

export NO_PROXY='localhost,localhost:8080'

HTTP_PROXY ve HTTPS_PROXY'yi, Edge Microgateway'in mesaj gönderebileceği HTTP proxy uç noktası olarak 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 kaynaklara 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ında ayarlama

Microgateway'e duyarlı proxy'lerde joker karakterleri kullanma

edgemicro_* (Microgateway'e duyarlı) proxy'nin temel yolunda bir veya daha fazla "*" joker karakteri kullanabilirsiniz. Örneğin, /team/*/members temel 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. /**/'nın desteklenmediğini unutmayın.

Önemli: Apigee, temel yolun ilk öğesi olarak joker karakter "*" kullanımını DESTEKLEMEZ. Örneğin, /*/ araması desteklenmez.


Hata ayıklama ve Sorun giderme

Hata ayıklayıcıya bağlanma

Edge Microgateway'i node-inspector gibi bir hata ayıklayıcıyla çalıştırabilirsiniz. Bu özellik, özel eklentilerde sorun giderme ve hata ayıklama için kullanışlıdır.

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

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

    Not: Windows'da SET DEBUG=* tuşunu 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 kodunda adım adım ilerleyebilir, kesme noktaları ayarlayabilir, ifadeleri izleyebilir vb.

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

Günlük dosyalarını kontrol etme

Sorun yaşıyorsanız yürütme ayrıntıları ve hata bilgileri için günlük dosyalarını inceleyin. Ayrıntılı bilgi için Günlük dosyalarını yönetme başlıklı makaleyi inceleyin.

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'si 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ı edinebilirsiniz.

Anahtarların önbelleğe alınması

API anahtarları, taşıyıcı jetonlarla değiştirilir ve bu jetonlar önbelleğe alınır. Gelen Edge Microgateway isteklerinde Cache-Control: no-cache başlığını 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 Microgateway başlıklı makaleyi inceleyin.

API anahtarı kullanma

API anahtarlarını proxy istekleriyle kullanma hakkında ayrıntılı bilgi için Secure Edge Microgateway başlıklı makaleyi inceleyin.

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

Varsayılan olarak, API anahtarı üstbilgisi veya sorgu parametresi için kullanılan ad x-api-key'dır. Bu varsayılan değeri, Yapılandırma değişiklikleri yapma bölümünde açıklandığı gibi 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