Referensi operasi dan konfigurasi untuk Edge Microgateway

Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

Edge Microgateway v. 2.4.x

Ringkasan

Topik ini membahas cara mengelola dan mengonfigurasi Edge Microgateway, termasuk pemantauan, logging, dan proses debug.

Melakukan perubahan konfigurasi

File konfigurasi yang perlu Anda ketahui meliputi:

  • File konfigurasi sistem default
  • File konfigurasi default untuk instance Edge Microgateway yang baru diinisialisasi
  • File konfigurasi dinamis untuk instance yang sedang berjalan

Bagian ini membahas file tersebut dan hal-hal yang perlu Anda ketahui tentang cara mengubahnya. Untuk mengetahui detail tentang setelan file konfigurasi, lihat Referensi konfigurasi Edge Microgateway.

File konfigurasi sistem default

Saat Anda menginstal Edge Microgateway, file konfigurasi sistem default akan ditempatkan di sini:

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

dengan [prefix] adalah direktori awalan npm. Lihat Di mana Edge Microgateway diinstal.

Jika Anda mengubah file konfigurasi sistem, Anda harus menginisialisasi ulang, mengonfigurasi ulang, dan memulai ulang Edge Microgateway:

  1. Telepon edgemicro init
  2. Telepon edgemicro configure [params]
  3. Telepon edgemicro start [params]

File konfigurasi default untuk instance Edge Microgateway yang baru diinisialisasi

Saat Anda menjalankan edgemicro init, file konfigurasi sistem (dijelaskan di atas), default.yaml, ditempatkan di direktori ini: ~/.edgemicro

Jika Anda mengubah file konfigurasi di ~/.edgemicro, Anda harus mengonfigurasi ulang dan memulai ulang Edge Microgateway:

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

File konfigurasi dinamis untuk instance yang sedang berjalan

Saat Anda menjalankan edgemicro configure [params], file konfigurasi dinamis dibuat di ~/.edgemicro. File diberi nama sesuai dengan pola ini: [org]-[env]-config.yaml, dengan org dan env adalah nama organisasi dan lingkungan Apigee Edge Anda. Anda dapat menggunakan file ini untuk melakukan perubahan konfigurasi, lalu memuat ulang perubahan tersebut tanpa waktu henti. Misalnya, jika Anda menambahkan dan mengonfigurasi plugin, Anda dapat memuat ulang konfigurasi tanpa mengalami periode nonaktif, seperti yang dijelaskan di bawah.

Jika Edge Microgateway sedang berjalan (opsi tanpa periode nonaktif):

  1. Muat ulang konfigurasi Edge Microgateway:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    Dengan:

    • org adalah nama organisasi Edge Anda (Anda harus menjadi administrator org).
    • env adalah lingkungan di organisasi Anda (seperti test atau prod).
    • key adalah kunci yang sebelumnya ditampilkan oleh perintah configure.
    • secret adalah kunci yang sebelumnya ditampilkan oleh perintah configure.

    Contoh

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

Jika Edge Microgateway dihentikan:

  1. Mulai ulang Edge Microgateway:
    edgemicro start -o [org] -e [env] -k [key] -s [secret]

    Dengan:

    • org adalah nama organisasi Edge Anda (Anda harus menjadi administrator org).
    • env adalah lingkungan di organisasi Anda (seperti test atau prod).
    • key adalah kunci yang sebelumnya ditampilkan oleh perintah configure.
    • secret adalah kunci yang sebelumnya ditampilkan oleh perintah configure.

    Contoh

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

Berikut adalah contoh file konfigurasi. Untuk mengetahui detail tentang setelan file konfigurasi, lihat Referensi konfigurasi Edge Microgateway.

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

Menyetel variabel lingkungan

Perintah antarmuka command line yang memerlukan nilai untuk organisasi dan lingkungan Edge Anda, serta kunci dan rahasia yang diperlukan untuk memulai Edge Microgateway dapat disimpan dalam variabel lingkungan ini:

  • EDGEMICRO_ORG
  • EDGEMICRO_ENV
  • EDGEMICRO_KEY
  • EDGEMICRO_SECRET

Setelan variabel ini bersifat opsional. Jika Anda menyetelnya, Anda tidak perlu menentukan nilainya saat menggunakan antarmuka command line (CLI) untuk mengonfigurasi dan memulai Edge Microgateway.

Mengonfigurasi SSL di server Edge Microgateway

Anda dapat mengonfigurasi server Microgateway untuk menggunakan SSL. Misalnya, dengan SSL yang dikonfigurasi, Anda dapat memanggil API melalui Edge Microgateway dengan protokol "https", seperti ini:

https://localhost:8000/myapi

Untuk mengonfigurasi SSL di server Microgateway, ikuti langkah-langkah berikut:

  1. Buat atau dapatkan sertifikat dan kunci SSL menggunakan utilitas openssl atau metode apa pun yang Anda inginkan.
  2. Tambahkan atribut edgemicro:ssl ke file konfigurasi Edge Microgateway. Untuk mengetahui daftar lengkap opsi, lihat tabel di bawah. Untuk mengetahui detail tentang cara mengubah konfigurasi Edge Microgateway, lihat Melakukan perubahan konfigurasi. Contoh:
     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. Mulai ulang Edge Microgateway. Ikuti langkah-langkah yang diuraikan dalam Melakukan perubahan konfigurasi, bergantung pada file konfigurasi yang Anda edit: file default atau file konfigurasi runtime.

Berikut contoh bagian edgemicro dari file config, dengan SSL yang dikonfigurasi:

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

Berikut adalah daftar semua opsi server yang didukung:

Opsi Deskripsi
key Jalur ke file ca.key (dalam format PEM).
cert Jalur ke file ca.cert (dalam format PEM).
pfx Jalur ke file pfx yang berisi kunci pribadi, sertifikat, dan sertifikat CA klien dalam format PFX.
passphrase String yang berisi frasa sandi untuk kunci pribadi atau PFX.
ca Jalur ke file yang berisi daftar sertifikat tepercaya dalam format PEM.
ciphers String yang menjelaskan sandi yang akan digunakan, dipisahkan dengan ":".
rejectUnauthorized Jika benar (true), sertifikat server akan diverifikasi berdasarkan daftar CA yang diberikan. Jika verifikasi gagal, error akan ditampilkan.
secureProtocol Metode SSL yang akan digunakan. Misalnya, SSLv3_method untuk memaksa SSL ke versi 3.
servername Nama server untuk ekstensi TLS SNI (Server Name Indication).
requestCert true untuk SSL 2 arah; false untuk SSL 1 arah

Menggunakan opsi SSL/TLS klien

Anda dapat mengonfigurasi Edge Microgateway agar menjadi klien TLS atau SSL saat terhubung ke endpoint target. Di file konfigurasi Microgateway, gunakan elemen target untuk menyetel opsi SSL/TLS.

Contoh ini memberikan setelan yang akan diterapkan ke semua host:

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

Dalam contoh ini, setelan hanya diterapkan ke host yang ditentukan:

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

Berikut contoh untuk TLS:

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

Berikut adalah daftar semua opsi klien yang didukung:

Opsi Deskripsi
pfx Jalur ke file pfx yang berisi kunci pribadi, sertifikat, dan sertifikat CA klien dalam format PFX.
key Jalur ke file ca.key (dalam format PEM).
passphrase String yang berisi frasa sandi untuk kunci pribadi atau PFX.
cert Jalur ke file ca.cert (dalam format PEM).
ca Jalur ke file yang berisi daftar sertifikat tepercaya dalam format PEM.
ciphers String yang menjelaskan sandi yang akan digunakan, dipisahkan dengan ":".
rejectUnauthorized Jika benar (true), sertifikat server akan diverifikasi berdasarkan daftar CA yang diberikan. Jika verifikasi gagal, error akan ditampilkan.
secureProtocol Metode SSL yang akan digunakan. Misalnya, SSLv3_method untuk memaksa SSL ke versi 3.
servername Nama server untuk ekstensi TLS SNI (Server Name Indication).

Menyesuaikan proxy edgemicro-auth

Secara default, Edge Microgateway menggunakan proxy yang di-deploy di Apigee Edge untuk autentikasi OAuth2. Proxy ini di-deploy saat Anda menjalankan edgemicro configure untuk pertama kalinya. Anda dapat mengubah konfigurasi default proxy ini untuk menambahkan dukungan bagi klaim kustom ke Token Web JSON (JWT), mengonfigurasi masa berlaku token, dan membuat token refresh. Untuk mengetahui detailnya, lihat halaman edgemicro-auth di GitHub.

Menggunakan layanan autentikasi kustom

Secara default, Edge Microgateway menggunakan proxy yang di-deploy di Apigee Edge untuk autentikasi OAuth2. Proxy ini di-deploy saat Anda menjalankan edgemicro configure untuk pertama kalinya. Secara default, URL proxy ini ditentukan dalam file konfigurasi Edge Microgateway sebagai berikut:

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

Jika Anda ingin menggunakan layanan kustom Anda sendiri untuk menangani autentikasi, ubah nilai authUri dalam file konfigurasi agar mengarah ke layanan Anda. Misalnya, Anda mungkin memiliki layanan yang menggunakan LDAP untuk memverifikasi identitas.

Mengelola file log

Edge Microgateway mencatat informasi tentang setiap permintaan dan respons. File log memberikan informasi yang berguna untuk proses debug dan pemecahan masalah.

Lokasi penyimpanan file log

Secara default, file log disimpan di /var/tmp.

Cara mengubah direktori file log default

Direktori tempat file log disimpan ditentukan dalam file konfigurasi Edge Microgateway. Untuk mengetahui detail tentang cara melakukan perubahan konfigurasi, lihat Melakukan perubahan konfigurasi.

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

Ubah nilai dir untuk menentukan direktori file log yang berbeda.

Mengirim log ke konsol

Anda dapat mengonfigurasi logging sehingga informasi log dikirim ke output standar, bukan ke file log. Tetapkan flag to_console ke benar (true) sebagai berikut:

edgemicro:
  logging:
    to_console: true  

Dengan setelan ini, log akan dikirim ke output standar. Saat ini, Anda tidak dapat mengirim log ke stdout dan file log secara bersamaan.

Cara menetapkan tingkat logging

Anda dapat menyetel level log berikut: info, warn, dan error. Sebaiknya gunakan tingkat info. Mencatat semua permintaan dan respons API, dan merupakan setelan default.

Cara mengubah interval log

Anda dapat mengonfigurasi interval ini dalam file konfigurasi Edge Microgateway. Untuk mengetahui detail tentang cara melakukan perubahan konfigurasi, lihat Melakukan perubahan konfigurasi.

Atribut yang dapat dikonfigurasi adalah:

  • stats_log_interval: (default: 60) Interval, dalam detik, saat catatan statistik ditulis ke file log API.
  • rotate_interval: (default: 24) Interval, dalam jam, saat file log dirotasi. Contoh:
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

Catatan: File log yang diarsipkan tidak dikompresi. Saat interval dimulai, file log baru akan dibuat dengan stempel waktu baru.

Praktik pemeliharaan file log yang baik

Seiring waktu, data file log akan bertambah. Apigee merekomendasikan agar Anda menerapkan praktik berikut:

  • Karena file log bisa menjadi sangat besar, pastikan direktori file log memiliki ruang yang cukup. Lihat bagian berikut Tempat file log disimpan dan Cara mengubah direktori file log default.
  • Hapus atau pindahkan file log ke direktori arsip terpisah setidaknya seminggu sekali.
  • Jika kebijakan Anda adalah menghapus log, Anda dapat menggunakan perintah CLI edgemicro log -c untuk menghapus (membersihkan) log yang lebih lama.

Konvensi penamaan file log

Setiap instance Edge Microgateway menghasilkan tiga jenis file log:

  • api - Mencatat semua permintaan dan respons yang mengalir melalui Edge Microgateway. Penghitung (statistik) dan error API juga dicatat ke file ini.
  • err - Mencatat semua yang dikirim ke stderr.
  • out - Mencatat semua yang dikirim ke stdout.

Berikut konvensi penamaannya:

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

Contoh:

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

Tentang konten file log

Ditambahkan di: v2.3.3

Secara default, layanan logging menghilangkan JSON proxy, produk, dan Token Web JSON (JWT) yang didownload. Jika Anda ingin menampilkan objek ini ke file log, tetapkan DEBUG=* saat Anda memulai Edge Microgateway. Contoh:

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

Catatan: Di Windows, gunakan SET DEBUG=*

Isi file log "api"

File log "api" berisi informasi mendetail tentang alur permintaan dan respons melalui Edge Microgateway. File log "api" diberi nama seperti ini:

edgemicro-mymachine-local-MTQzNjIxOTk0NzY0Nw-api.log

Untuk setiap permintaan yang dibuat ke Edge Microgateway, empat peristiwa dicatat dalam file log "api":

  • Permintaan masuk dari klien
  • Permintaan keluar dibuat ke target
  • Respons masuk dari target
  • Respons keluar untuk klien

Setiap entri terpisah ini ditampilkan dalam notasi singkat untuk membantu membuat file log lebih ringkas. Berikut adalah empat contoh entri yang mewakili keempat peristiwa tersebut. Dalam file log, error akan terlihat seperti ini (nomor baris hanya untuk referensi dalam dokumen, tidak muncul dalam file log).

(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

Mari kita lihat satu per satu:

1. Contoh permintaan masuk dari klien:

1436403888651 info req m=GET, u=/, h=localhost:8000, r=::1:59715, i=0
  • 1436403888651 - Stempel tanggal Unix
  • info - Tergantung pada konteksnya. Dapat berupa info, peringatan, atau error, bergantung pada tingkat log. Dapat berupa stats untuk rekaman statistik, warn untuk peringatan, atau error untuk error.
  • req - Mengidentifikasi peristiwa. Dalam hal ini, permintaan dari klien.
  • m - Kata kerja HTTP yang digunakan dalam permintaan.
  • u - Bagian URL setelah basepath.
  • h - Host dan nomor port tempat Edge Microgateway memproses.
  • r - Host dan port jarak jauh tempat permintaan klien berasal.
  • i - ID permintaan. Keempat entri peristiwa akan berbagi ID ini. Setiap permintaan diberi ID permintaan unik. Menghubungkan catatan log berdasarkan ID permintaan dapat memberikan insight berharga tentang latensi target.
  • d - Durasi dalam milidetik sejak permintaan diterima oleh Edge Microgateway. Dalam contoh di atas, respons target untuk permintaan 0 diterima setelah 7 milidetik (baris 3), dan respons dikirim ke klien setelah 4 milidetik tambahan (baris 4). Dengan kata lain, total latensi permintaan adalah 11 milidetik, dengan 7 milidetik digunakan oleh target dan 4 milidetik oleh Edge Microgateway itu sendiri.

2. Contoh permintaan keluar yang dibuat ke target:

1436403888665 info treq m=GET, u=/, h=127.0.0.1:8080, i=0
  • 1436403888651 - Stempel tanggal Unix
  • info - Tergantung pada konteksnya. Dapat berupa info, peringatan, atau error, bergantung pada tingkat log. Dapat berupa stats untuk rekaman statistik, warn untuk peringatan, atau error untuk error.
  • treq - Mengidentifikasi peristiwa. Dalam hal ini, targetkan permintaan.
  • m - Kata kerja HTTP yang digunakan dalam permintaan target.
  • u - Bagian URL setelah basepath.
  • h - Host dan nomor port target backend.
  • i - ID entri log. Keempat entri peristiwa akan berbagi ID ini.

3. Contoh respons masuk dari target

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

1436403888651 - Stempel tanggal Unix

  • info - Tergantung pada konteksnya. Dapat berupa info, peringatan, atau error, bergantung pada tingkat log. Dapat berupa stats untuk rekaman statistik, warn untuk peringatan, atau error untuk error.
  • tres - Mengidentifikasi peristiwa. Dalam hal ini, respons target.
  • s - Status respons HTTP.
  • d - Durasi dalam milidetik. Waktu yang diperlukan untuk panggilan API oleh target.
  • i - ID entri log. Keempat entri peristiwa akan berbagi ID ini.

4. Contoh respons keluar ke klien

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

1436403888651 - Stempel tanggal Unix

  • info - Tergantung pada konteksnya. Dapat berupa info, peringatan, atau error, bergantung pada tingkat log. Dapat berupa stats untuk rekaman statistik, warn untuk peringatan, atau error untuk error.
  • res - Mengidentifikasi peristiwa. Dalam hal ini, respons terhadap klien.
  • s - Status respons HTTP.
  • d - Durasi dalam milidetik. Ini adalah total waktu yang dibutuhkan oleh panggilan API, termasuk waktu yang dibutuhkan oleh target API dan waktu yang dibutuhkan oleh Edge Microgateway itu sendiri.
  • i - ID entri log. Keempat entri peristiwa akan berbagi ID ini.

Jadwal file log

File log dirotasi pada interval yang ditentukan oleh atribut rotate_interval konfigurasi. Entri akan terus ditambahkan ke file log yang sama hingga interval rotasi berakhir. Namun, setiap kali Edge Microgateway dimulai ulang, Edge Microgateway akan menerima UID baru dan membuat kumpulan file log baru dengan UID ini. Lihat juga Praktik pemeliharaan file log yang baik.

Referensi konfigurasi Edge Microgateway

Lokasi file konfigurasi

Atribut konfigurasi yang dijelaskan di bagian ini berada dalam file konfigurasi Edge Microgateway. Untuk mengetahui detail tentang cara melakukan perubahan konfigurasi, lihat Melakukan perubahan konfigurasi.

Atribut edge_config

Setelan ini digunakan untuk mengonfigurasi interaksi antara instance Edge Microgateway dan Apigee Edge.

  • bootstrap: (default: none) URL yang mengarah ke layanan khusus Edge Microgateway yang berjalan di Apigee Edge. Edge Microgateway menggunakan layanan ini untuk berkomunikasi dengan Apigee Edge. URL ini ditampilkan saat Anda menjalankan perintah untuk membuat pasangan kunci publik/pribadi: edgemicro genkeys. Lihat Menyiapkan dan mengonfigurasi Edge Microgateway untuk mengetahui detailnya.
  • jwt_public_key: (default: none) URL yang mengarah ke proxy Edge Microgateway yang di-deploy di Apigee Edge. Proxy ini berfungsi sebagai endpoint autentikasi untuk menerbitkan token akses bertanda tangan kepada klien. URL ini ditampilkan saat Anda menjalankan perintah untuk men-deploy proxy: edgemicro configure. Lihat Menyiapkan dan mengonfigurasi Edge Microgateway untuk mengetahui detailnya.

Atribut edgemicro

Setelan ini mengonfigurasi proses Edge Microgateway.

  • port: (default: 8000) Nomor port yang digunakan untuk memproses Edge Microgateway.
  • max_connections: (default: -1) Menentukan jumlah maksimum koneksi masuk serentak yang dapat diterima Edge Microgateway. Jika jumlah ini terlampaui, status berikut akan ditampilkan:

    res.statusCode = 429; // Too many requests
  • max_connections_hard: (default: -1) Jumlah maksimum permintaan serentak yang dapat diterima Edge Microgateway sebelum menutup koneksi. Setelan ini ditujukan untuk mencegah serangan penolakan layanan. Biasanya, tetapkan ke angka yang lebih besar daripada max_connections.
  • logging:
    • level: (default: error)
      • info - Mencatat semua permintaan dan respons yang mengalir melalui instance Edge Microgateway.
      • warn - Hanya mencatat pesan peringatan.
      • error - Hanya mencatat pesan error.
    • dir: (default: /var/tmp) Direktori tempat file log disimpan.
    • stats_log_interval: (default: 60) Interval, dalam detik, saat catatan statistik ditulis ke file log API.
    • rotate_interval: (default: 24) Interval, dalam jam, saat file log dirotasi.
  • plugin: Plugin menambahkan fungsi ke Edge Microgateway. Untuk mengetahui detail tentang pengembangan plugin, lihat Mengembangkan plugin kustom.
  • dir: Jalur relatif dari direktori ./gateway ke direktori ./plugins, atau jalur absolut.
  • sequence: Daftar modul plugin yang akan ditambahkan ke instance Edge Microgateway Anda. Modul akan dieksekusi sesuai urutan yang ditentukan di sini.
  • debug: Menambahkan proses debug jarak jauh ke proses Edge Microgateway.
    • port: Nomor port yang harus diproses. Misalnya, setel debugger IDE Anda untuk memproses permintaan pada port ini.
    • args: Argumen untuk proses debug. Contoh: args --nolazy
  • config_change_poll_interval: (default: 600 detik) Edge Microgateway memuat konfigurasi baru secara berkala dan menjalankan pemuatan ulang jika ada perubahan. Polling mengambil perubahan apa pun yang dilakukan di Edge (perubahan pada produk, proxy yang kompatibel dengan microgateway, dll.) serta perubahan yang dilakukan pada file konfigurasi lokal.
  • disable_config_poll_interval: (default: false) Tetapkan ke true untuk menonaktifkan polling perubahan otomatis.
  • request_timeout: Menetapkan waktu tunggu untuk permintaan target. Waktu tunggu ditetapkan dalam detik. Jika terjadi waktu tunggu habis, Edge Microgateway akan merespons dengan kode status 504. (Ditambahkan v2.4.x)

atribut header

Setelan ini mengonfigurasi cara header HTTP tertentu diperlakukan.

  • x-forwarded-for: (default: true) Tetapkan ke false untuk mencegah header x-forwarded-for diteruskan ke target. Perhatikan bahwa jika header x-forwarded-for ada dalam permintaan, nilainya akan ditetapkan ke nilai client-ip di Edge Analytics.
  • x-forwarded-host: (default: true) Tetapkan ke false untuk mencegah header x-forwarded-host diteruskan ke target.
  • x-request-id: (default: true) Tetapkan ke false untuk mencegah header x-request-id diteruskan ke target.
  • x-response-time: (default: benar) Tetapkan ke salah agar header x-response-time tidak diteruskan ke target.
  • via: (default: true) Setel ke false untuk mencegah header via diteruskan ke target.

atribut oauth

Setelan ini mengonfigurasi cara autentikasi klien diterapkan oleh Edge Microgateway.

  • allowNoAuthorization: (default: false) Jika disetel ke benar, panggilan API diizinkan untuk melewati Edge Microgateway tanpa header Otorisasi sama sekali. Setel ini ke false untuk mewajibkan header Otorisasi (default).
  • allowInvalidAuthorization: (default: false) Jika disetel ke true, panggilan API diizinkan untuk diteruskan jika token yang diteruskan di header Otorisasi tidak valid atau telah habis masa berlakunya. Setel ini ke false untuk mewajibkan token yang valid (default).
  • authorization-header: (default: Authorization: Bearer) Header yang digunakan untuk mengirim token akses ke Edge Microgateway. Anda mungkin ingin mengubah default dalam kasus saat target perlu menggunakan header Otorisasi untuk tujuan lain.
  • api-key-header: (default: x-api-key) Nama header atau parameter kueri yang digunakan untuk meneruskan kunci API ke Edge Microgateway. Lihat juga Menggunakan kunci API.
  • keepAuthHeader: (default: false) Jika disetel ke true, header Otorisasi yang dikirim dalam permintaan akan diteruskan ke target (dipertahankan).
  • allowOAuthOnly -- Jika disetel ke benar (true), setiap API harus membawa header Authorization dengan Token Akses Bearer. Memungkinkan Anda mengizinkan hanya model keamanan OAuth (sambil mempertahankan kompatibilitas mundur). (Ditambahkan 4.2.x)
  • allowAPIKeyOnly -- Jika disetel ke benar (true), setiap API harus menyertakan header x-api-key (atau lokasi kustom) dengan Kunci API.Memungkinkan Anda hanya mengizinkan model keamanan kunci API (sambil mempertahankan kompatibilitas mundur). (Ditambahkan 4.2.x)

Atribut khusus plugin

Lihat Menggunakan plugin untuk mengetahui detail tentang atribut yang dapat dikonfigurasi untuk setiap plugin.

Memfilter proxy

Anda dapat memfilter proxy yang kompatibel dengan microgateway yang akan diproses oleh instance Edge Microgateway. Saat dimulai, Edge Microgateway akan mendownload semua proxy yang kompatibel dengan microgateway di organisasi yang terkait dengannya. Gunakan konfigurasi berikut untuk membatasi proxy yang akan diproses microgateway. Misalnya, konfigurasi ini membatasi jumlah proxy yang akan diproses microgateway menjadi tiga: edgemicro_proxy-1, edgemicro_proxy-2, dan edgemicro_proxy-3:

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

Menyamarkan data analisis

Konfigurasi berikut mencegah informasi jalur permintaan muncul di analisis Edge. Tambahkan kode berikut ke konfigurasi microgateway untuk menyamarkan URI permintaan dan/atau jalur permintaan. Perhatikan bahwa URI terdiri dari bagian nama host dan jalur permintaan.

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

Menyiapkan Edge Microgateway di belakang firewall perusahaan

Didukung v4.2.x

Jika Edge Microgateway diinstal di belakang firewall, gateway mungkin tidak dapat berkomunikasi dengan Apigee Edge. Dalam hal ini, ada dua opsi yang dapat Anda pertimbangkan:

Opsi 1:

Opsi pertama adalah menyetel opsi edgemicro: proxy_tunnel ke benar (true) di file konfigurasi microgateway:

edge_config:

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

Jika proxy_tunnel adalah true, Edge Microgateway menggunakan metode HTTP CONNECT untuk membuat tunnel permintaan HTTP melalui satu koneksi TCP. (Hal yang sama berlaku jika variabel lingkungan untuk mengonfigurasi proxy diaktifkan TLS).

Opsi 2:

Opsi kedua adalah menentukan proxy dan menyetel proxy_tunnel ke false dalam file konfigurasi microgateway. Contoh:

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

Dalam hal ini, Anda dapat menetapkan variabel berikut untuk mengontrol host untuk setiap proxy HTTP yang ingin Anda gunakan, atau host mana yang tidak boleh menangani proxy Edge Microgateway: HTTP_PROXY, HTTPS_PROXY, dan NO_PROXY.

Anda dapat menetapkan NO_PROXY sebagai daftar domain yang dipisahkan koma yang tidak boleh diproksi oleh Edge Microgateway. Contoh:

export NO_PROXY='localhost,localhost:8080'

Tetapkan HTTP_PROXY dan HTTPS_PROXY ke endpoint proxy HTTP yang dapat digunakan Edge Microgateway untuk mengirim pesan. Contoh:

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

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

Untuk mengetahui informasi selengkapnya tentang variabel ini, lihat:

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


Lihat juga

Cara menyiapkan Edge Microgateway di belakang firewall perusahaan di Komunitas Apigee.

Menggunakan karakter pengganti di proxy yang kompatibel dengan Microgateway

Anda dapat menggunakan satu atau beberapa karakter pengganti "*" di jalur dasar proxy edgemicro_* (yang kompatibel dengan Microgateway). Misalnya, jalur dasar /team/*/members memungkinkan klien memanggil https://[host]/team/blue/members dan https://[host]/team/green/members tanpa Anda perlu membuat proxy API baru untuk mendukung tim baru. Perhatikan bahwa /**/ tidak didukung.

Penting: Apigee TIDAK mendukung penggunaan karakter pengganti "*" sebagai elemen pertama jalur dasar. Misalnya, penelusuran /*/ TIDAK didukung.


Proses Debug dan Pemecahan Masalah

Menghubungkan ke debugger

Anda dapat menjalankan Edge Microgateway dengan debugger, seperti node-inspector. Hal ini berguna untuk memecahkan masalah dan men-debug plugin kustom.

  1. Mulai ulang Edge Microgateway dalam mode debug. Untuk melakukannya, tambahkan DEBUG=* ke awal perintah start. Contoh:

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

    Catatan: Di Windows, gunakan SET DEBUG=*

  2. Mulai debugger Anda dan setel untuk memproses nomor port untuk proses debug.
  3. Anda kini dapat menelusuri kode Edge Microgateway, menetapkan titik henti sementara, memantau ekspresi, dan sebagainya.

Anda dapat menentukan flag Node.js standar yang terkait dengan mode debug. Misalnya, --nolazy membantu proses debug kode asinkron.

Memeriksa file log

Jika Anda mengalami masalah, pastikan untuk memeriksa file log untuk mengetahui detail eksekusi dan informasi error. Untuk mengetahui detailnya, lihat Mengelola file log.

Menggunakan keamanan Kunci API

Kunci API menyediakan mekanisme sederhana untuk mengautentikasi klien yang membuat permintaan ke Edge Microgateway. Anda dapat memperoleh kunci API dengan menyalin nilai Consumer Key (juga disebut Client ID) dari produk Apigee Edge yang menyertakan proxy autentikasi Edge Microgateway.

Penyimpanan kunci dalam cache

Kunci API ditukar dengan token pembawa, yang di-cache. Anda dapat menonaktifkan caching dengan menyetel header Cache-Control: no-cache pada permintaan masuk ke Edge Microgateway.

Menggunakan keamanan token OAuth2

Untuk mengetahui detail tentang penggunaan token OAuth dengan permintaan proxy, lihat Secure Edge Microgateway.

Menggunakan kunci API

Untuk mengetahui detail tentang penggunaan kunci API dengan permintaan proxy, lihat Mengamankan Edge Microgateway.

Mengonfigurasi nama kunci API

Secara default, x-api-key adalah nama yang digunakan untuk header atau parameter kueri kunci API. Anda dapat mengubah default ini dalam file konfigurasi, seperti yang dijelaskan dalam Melakukan perubahan konfigurasi. Misalnya, untuk mengubah nama menjadi apiKey:

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