Anda sedang melihat dokumentasi Apigee Edge.
Buka
Dokumentasi Apigee X. info
Edge Microgateway v. 2.4.x
Ringkasan
Topik ini membahas cara mengelola dan mengkonfigurasi Edge Microgateway, termasuk pemantauan, {i>logging<i}, dan {i>debugging<i}.
Membuat 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 menjalankan instance
Bagian ini membahas file ini dan hal yang perlu Anda ketahui tentang cara mengubahnya. Untuk detailnya tentang setelan file konfigurasi, lihat konfigurasi Edge Microgateway .
Konfigurasi sistem default file
Saat Anda menginstal Edge Microgateway, file konfigurasi sistem default ditempatkan di sini:
[prefix]/lib/node_modules/edgemicro/config/default.yaml
dengan [prefix]
adalah direktori awalan npm
.
Lihat Lokasi
apakah Edge Microgateway sudah diinstal.
Jika Anda mengubah file konfigurasi sistem, Anda harus menginisialisasi ulang, mengonfigurasi ulang, dan memulai ulang Edge Microgateway:
- Telepon
edgemicro init
- Telepon
edgemicro configure [params]
- 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 file konfigurasi diubah di ~/.edgemicro
, Anda harus mengonfigurasi ulang dan memulai ulang
Microgateway Edge:
edgemicro stop
edgemicro configure
[params]
edgemicro start
[params]
Dinamis file konfigurasi untuk menjalankan instance
Saat Anda menjalankan edgemicro configure [params]
, parameter
file konfigurasi dibuat di ~/.edgemicro
. File tersebut diberi nama sesuai dengan
pola: [org]-[env]-config.yaml
,
dengan org
dan env
adalah organisasi Apigee Edge Anda
dan nama lingkungan. Anda dapat menggunakan file ini untuk membuat perubahan konfigurasi, lalu memuat ulang
tanpa periode nonaktif. Misalnya, jika Anda menambahkan dan mengonfigurasi plugin, Anda dapat memuat ulang
tanpa menimbulkan periode nonaktif, seperti yang dijelaskan di bawah.
Jika Edge Microgateway berjalan (opsi tanpa periode nonaktif):
- Muat ulang konfigurasi Edge Microgateway:
edgemicro reload -o [org] -e [env] -k [key] -s [secret]
Dengan keterangan:
org
adalah nama organisasi Edge Anda (Anda harus merupakan administrator org).env
adalah lingkungan di organisasi Anda (seperti pengujian atau prod).key
adalah kunci yang ditampilkan sebelumnya oleh konfigurasi perintah.secret
adalah kunci yang ditampilkan sebelumnya oleh perintah config.
Contoh
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d000723 -s 05c14356e42ed136b8dd35cf8a18531ff52d7299134677e30ef4e34ab0cc824
Jika Edge Microgateway dihentikan:
- Mulai ulang Edge Microgateway:
edgemicro start -o [org] -e [env] -k [key] -s [secret]
Dengan keterangan:
org
adalah nama organisasi Edge Anda (Anda harus merupakan administrator org).env
adalah lingkungan di organisasi Anda (seperti pengujian atau prod).key
adalah kunci yang ditampilkan sebelumnya oleh konfigurasi perintah.secret
adalah kunci yang ditampilkan sebelumnya oleh perintah config.
Contoh
edgemicro start -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d000723 -s 05c14356e42ed136b8dd35cf8a18531ff52d7299134677e30ef4e34ab0cc824
Berikut adalah contoh file konfigurasi. Untuk detail tentang pengaturan file konfigurasi, lihat Edge Microgateway referensi konfigurasi.
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 Edge Anda dan serta kunci dan rahasia yang diperlukan untuk memulai Edge Microgateway dapat disimpan di variabel lingkungan:
EDGEMICRO_ORG
EDGEMICRO_ENV
EDGEMICRO_KEY
EDGEMICRO_SECRET
Menetapkan variabel ini bersifat opsional. Jika telah menetapkannya, Anda tidak perlu menentukan nilainya saat Anda menggunakan Antarmuka Command-Line (CLI) untuk mengonfigurasi dan memulai Edge Microgateway.
Mengonfigurasi SSL di Edge Microgateway server
Anda dapat mengonfigurasi server Microgateway agar menggunakan SSL. Misalnya, dengan SSL yang dikonfigurasi, Anda dapat memanggil API melalui Edge Microgateway dengan "https" , seperti ini:
https://localhost:8000/myapi
Untuk mengkonfigurasi SSL di server Microgateway, ikuti langkah-langkah berikut:
- Buat atau dapatkan kunci dan sertifikat SSL menggunakan utilitas openssl atau metode apa pun yang Anda sukai.
- Menambahkan atribut
edgemicro:ssl
ke Edge Microgateway file konfigurasi Anda. Untuk daftar lengkap opsi, lihat tabel di bawah. Untuk mengetahui detail tentang memodifikasi konfigurasi Edge Microgateway, lihat Membuat 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
- Mulai ulang Edge Microgateway. Ikuti langkah-langkah yang diuraikan di bagian Membuat perubahan konfigurasi, bergantung pada file konfigurasi yang Anda edit: file default atau file konfigurasi runtime.
Berikut adalah contoh bagian edgemicro dari file konfigurasi, dengan SSL yang telah 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 penyandian yang akan digunakan, dipisahkan dengan tanda ":". |
rejectUnauthorized |
Jika true (benar), sertifikat server akan diverifikasi berdasarkan daftar CA yang diberikan. Jika verifikasi gagal, pesan {i>error<i} akan muncul. |
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 |
benar untuk SSL 2 arah; false untuk SSL 1 arah |
Menggunakan opsi SSL/TLS klien
Anda dapat mengonfigurasi Edge Microgateway menjadi klien TLS atau SSL saat terhubung ke target endpoint. Di file konfigurasi Microgateway, gunakan elemen target untuk menetapkan SSL/TLS lainnya.
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 adalah 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 penyandian yang akan digunakan, dipisahkan dengan tanda ":". |
rejectUnauthorized |
Jika true (benar), sertifikat server akan diverifikasi berdasarkan daftar CA yang diberikan. Jika verifikasi gagal, pesan {i>error<i} akan muncul. |
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 pertama kali menjalankan edgemicro configure
. Anda dapat
ubah konfigurasi default proxy ini untuk menambahkan dukungan klaim kustom ke JSON Web
Token (JWT), mengonfigurasi akhir 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 pertama kali menjalankan edgemicro configure
. Secara {i>default<i},
URL proxy ini ditetapkan dalam file konfigurasi Edge Microgateway sebagai berikut:
authUri: https://myorg-myenv.apigee.net/edgemicro-auth
Jika Anda ingin menggunakan layanan khusus
sendiri untuk menangani autentikasi, ubah
nilai authUri
dalam file konfigurasi untuk mengarah ke layanan Anda. Sebagai
misalnya, Anda mungkin memiliki layanan yang
menggunakan LDAP untuk memverifikasi identitas.
Mengelola file log
Edge Microgateway mencatat informasi tentang setiap permintaan dan respons ke dalam log. File log memberikan manfaat informasi untuk proses debug dan pemecahan masalah.
Tempat file log disimpan
Secara default, file log disimpan di /var/tmp
.
Cara mengubah log default direktori file
Direktori tempat file log disimpan ditentukan dalam konfigurasi Edge Microgateway . Untuk detail tentang cara melakukan perubahan konfigurasi, lihat Membuat 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 mengkonfigurasi log sehingga informasi log
dikirim ke {i>output<i} standar, bukan ke
file log. Tetapkan tanda to_console
ke benar (true) sebagai berikut:
edgemicro: logging: to_console: true
Dengan setelan ini, log akan dikirim ke standard out. Saat ini, Anda tidak dapat mengirim log ke keduanya {i>stdout<i} dan ke file log.
Cara menetapkan level logging
Anda dapat menetapkan level log berikut: info, warning, dan error. Sebaiknya gunakan tingkat info. Alat ini mencatat semua permintaan API dan respons default, dan ini adalah setelan default.
Cara mengubah interval log
Anda dapat mengonfigurasi interval ini di file konfigurasi Edge Microgateway. Untuk mengetahui detail tentang cara perubahan konfigurasi, lihat Membuat konfigurasi perubahan.
Atribut yang dapat dikonfigurasi adalah:
- stats_log_interval: (default: 60) Interval, dalam detik, saat statistik yang 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. Ketika interval dimulai, sebuah file log baru dibuat dengan stempel waktu baru.
Baik praktik pemeliharaan file log
Karena data file log terakumulasi dari waktu ke waktu, Apigee merekomendasikan agar Anda mengadopsi praktik:
- Karena file log bisa menjadi sangat besar, pastikan bahwa direktori file log telah cukup ruang. Lihat bagian berikut Tempat file log disimpan dan Cara mengubah file log default direktori.
- Hapus atau pindahkan file log ke direktori arsip terpisah minimal seminggu sekali.
- Jika kebijakan Anda adalah menghapus log, Anda dapat menggunakan perintah CLI
edgemicro log -c
untuk menghapus (membersihkan) log 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 apa pun yang dikirim ke stderr.
- out - Mencatat apa pun yang dikirim ke stdout.
Berikut ini adalah konvensi penamaan:
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 untuk proxy, produk, dan JSON yang didownload
Token Web (JWT). Jika Anda ingin membuat {i>output<i} objek ini ke file log, atur
DEBUG=*
saat Anda memulai Edge Microgateway. Contoh:
DEBUG=* edgemicro start -o docs -e test -k abc123 -s xyz456
Catatan: Di Windows, gunakan SET DEBUG=*
Konten "api" file log
"api" file log berisi informasi detail tentang alur permintaan dan respons melalui Edge Microgateway. "api" file log diberi nama seperti ini:
edgemicro-mymachine-local-MTQzNjIxOTk0NzY0Nw-api.log
Untuk setiap permintaan yang dibuat ke Edge Microgateway, empat peristiwa diambil di "api" catatan file:
- Permintaan masuk dari klien
- Permintaan keluar yang dibuat ke target
- Respons masuk dari target
- Respons keluar ke klien
Masing-masing entri terpisah ini direpresentasikan dalam notasi singkat untuk membantu membuat log file menjadi lebih ringkas. Berikut adalah empat entri contoh yang mewakili masing-masing dari keempat peristiwa tersebut. Di log , baris akan terlihat seperti ini (nomor baris hanya sebagai referensi dalam dokumen, mereka 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 bahas 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 konteks. Dapat berupa info, peringatkan, atau kesalahan, bergantung pada level log. Dapat berupa statistik untuk catatan statistik, peringatan untuk peringatan, atau {i>error<i} untuk {i>error<i}.
- req - Mengidentifikasi peristiwa. Dalam hal ini, permintaan dari dengan klien besar.
- m - Kata kerja HTTP yang digunakan dalam permintaan.
- u - Bagian URL yang mengikuti jalur basis.
- h - Host dan nomor port tempat Edge Microgateway berada mendengarkan.
- r - Host dan port jarak jauh tempat klien meminta berasal.
- i - ID permintaan. Keempat entri peristiwa akan membagikan ID ini. Masing-masing diberi ID permintaan unik. Mengkorelasi catatan log berdasarkan ID permintaan dapat memberikan insight berharga tentang latensi target.
- d - Durasi dalam milidetik sejak permintaan diterima oleh Edge Microgateway. Pada contoh di atas, respons target untuk permintaan 0 diterima setelah 7 milidetik (baris 3), dan respons dikirim ke klien setelah 4 tambahan milidetik (baris 4). Dengan kata lain, total latensi permintaan adalah 11 milidetik, dari yang 7 milidetik diambil oleh target dan 4 milidetik oleh Edge Microgateway itu sendiri.
2. Contoh permintaan keluar yang dikirim ke target:
1436403888665 info treq m=GET, u=/, h=127.0.0.1:8080, i=0
- 1436403888651 - Stempel tanggal Unix
- info - Tergantung pada konteks. Dapat berupa info, peringatkan, atau kesalahan, bergantung pada level log. Dapat berupa statistik untuk catatan statistik, peringatan untuk peringatan, atau {i>error<i} untuk {i>error<i}.
- treq - Mengidentifikasi peristiwa. Dalam hal ini, permintaan target.
- m - Kata kerja HTTP yang digunakan dalam permintaan target.
- u - Bagian URL yang mengikuti jalur basis.
- h - Host dan nomor port target backend.
- i - ID entri log. Keempat entri peristiwa akan membagikan ini ke ID.
3. Contoh respons masuk dari target
1436403888672 info tres s=200, d=7, i=0
1436403888651 - Stempel tanggal Unix
- info - Tergantung pada konteks. Dapat berupa info, peringatkan, atau kesalahan, bergantung pada level log. Dapat berupa statistik untuk catatan statistik, peringatan untuk peringatan, atau {i>error<i} untuk {i>error<i}.
- tres - Mengidentifikasi peristiwa. Dalam hal ini, target respons.
- s - Status respons HTTP.
- d - Durasi dalam milidetik. Waktu yang dibutuhkan untuk panggilan API oleh targetnya.
- i - ID entri log. Keempat entri peristiwa akan membagikan ini ke ID.
4. Contoh respons keluar ke klien
1436403888676 info res s=200, d=11, i=0
1436403888651 - Stempel tanggal Unix
- info - Tergantung pada konteks. Dapat berupa info, peringatkan, atau kesalahan, bergantung pada level log. Dapat berupa statistik untuk catatan statistik, peringatan untuk peringatan, atau {i>error<i} untuk {i>error<i}.
- res - Mengidentifikasi peristiwa. Dalam hal ini, respons terhadap dengan klien besar.
- s - Status respons HTTP.
- d - Durasi dalam milidetik. Ini adalah total waktu yang dibutuhkan oleh panggilan API, termasuk waktu yang dibutuhkan oleh API target dan waktu yang dibutuhkan Edge Microgateway itu sendiri.
- i - ID entri log. Keempat entri peristiwa akan membagikan ini ke ID.
Jadwal file log
File log dirotasi pada interval yang ditentukan oleh konfigurasi rotate_interval Anda. Entri akan terus ditambahkan ke file log yang sama hingga interval rotasi tidak berlaku lagi. Namun, setiap kali Edge Microgateway dimulai ulang, Edge Microgateway menerima UID baru dan membuat kumpulan file log baru dengan UID ini. Lihat juga Praktik pemeliharaan file log yang baik.
Konfigurasi Microgateway Edge referensi
Lokasi file konfigurasi
Atribut konfigurasi yang dijelaskan di bagian ini terletak di Edge Microgateway file konfigurasi Anda. Untuk detail tentang melakukan perubahan konfigurasi, lihat Membuat perubahan konfigurasi.
atribut edge_config
Setelan ini digunakan untuk mengonfigurasi interaksi antara instance Edge Microgateway dan Apigee Edge.
- bootstrap: (default: tidak ada) URL yang mengarah ke Edge
Layanan khusus Microgateway yang berjalan di Apigee Edge. Edge Microgateway menggunakan layanan ini untuk
berkomunikasi dengan Apigee Edge. URL ini ditampilkan saat Anda menjalankan perintah untuk menghasilkan
pasangan kunci publik/pribadi:
edgemicro genkeys
. Lihat Setelan dan mengonfigurasi Edge Microgateway untuk mengetahui detailnya. - jwt_public_key: (default: none) URL yang mengarah ke Edge Microgateway yang di-deploy di Apigee Edge. {i>Proxy<i} ini berfungsi sebagai titik akhir otentikasi untuk menerbitkan token akses yang ditandatangani ke klien. URL ini ditampilkan ketika Anda menjalankan perintah untuk men-deploy proxy: konfigurasi edgemicro. Lihat Setelan dan mengonfigurasi Edge Microgateway untuk mengetahui detailnya.
atribut edgemicro
Setelan ini mengonfigurasi proses Edge Microgateway.
- port: (default: 8000) Nomor port tempat Edge Microgateway proses mendengarkan.
- max_connections: (default: -1) Menentukan jumlah maksimum
koneksi masuk simultan yang
dapat diterima Edge Microgateway. Jika nomor ini
terlampaui, status berikut ditampilkan:
res.statusCode = 429; // Too many requests
- max_connections_hard: (default: -1) Jumlah maksimum koneksi yang dapat diterima Edge Microgateway sebelum mematikan koneksi. Setelan ini dimaksudkan untuk menggagalkan serangan penolakan layanan. Biasanya, atur itu ke angka yang lebih besar dari max_connections.
-
logging:
-
level: (default: error)
- info - Mencatat semua permintaan dan respons yang mengalir melalui Instance Edge Microgateway.
- peringatan - Hanya mencatat pesan peringatan.
- error - Hanya mencatat pesan error ke dalam log.
- dir: (default: /var/tmp) Direktori tempat file log berada disimpan.
- stats_log_interval: (default: 60) Interval, dalam detik, saat statistik record ditulis ke file log api.
- rotate_interval: (default: 24) Interval, dalam jam, saat file log dirotasi.
-
level: (default: error)
- plugin: Plugin menambahkan fungsi ke Edge Microgateway. Untuk detailnya tentang mengembangkan plugin, lihat Mengembangkan plugin khusus plugin.
- dir: Jalur relatif dari direktori ./gateway ke direktori {i>./plugins<i}, atau jalur absolut.
- Urutan: Daftar modul plugin yang akan ditambahkan ke Edge Microgateway Anda di instance Compute Engine. Modul akan dijalankan sesuai urutan yang ditentukan di sini.
-
debug: Menambahkan proses debug jarak jauh ke proses Edge Microgateway.
- port: Nomor port yang akan diproses. Misalnya, setel debugger IDE Anda untuk diproses di 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 muat ulang jika ada yang berubah. Jajak pendapat
mengambil setiap perubahan yang dibuat di Edge (perubahan pada produk, proxy berbasis microgateway, dll.)
serta perubahan yang dibuat
pada file konfigurasi lokal.
- disable_config_poll_interval: (default: false) Ditetapkan ke true untuk menonaktifkan ubah otomatis polling.
- request_timeout: Menetapkan waktu tunggu untuk permintaan target. Waktu tunggu disetel dalam detik. Jika waktu tunggu habis, Edge Microgateway 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 diteruskan ke header x untuk diteruskan ke target. Perhatikan bahwa jika {i>header <i}x-forwarded-for ada dalam permintaan, nilainya akan ditetapkan ke nilai IP klien di Analisis Edge.
- x-forwarded-host: (default: true) Tetapkan ke false untuk mencegah header x-forwarded-host untuk diteruskan ke target.
- x-request-id: (default: true) Tetapkan ke false untuk mencegah x-request-id untuk diteruskan ke target.
- x-response-time: (default: true) Tetapkan ke false untuk mencegah header x-response-time yang akan diteruskan ke target.
- via: (default: true) Tetapkan ke false untuk mencegah melalui header yang diteruskan ke target.
atribut oauth
Setelan ini mengonfigurasi cara autentikasi klien diberlakukan oleh Edge Microgateway.
- allowNoAuthorization: (default: false) Jika ditetapkan ke true, panggilan API akan diizinkan untuk melewati Edge Microgateway tanpa {i>header <i}Otorisasi sama sekali. Tetapkan ini ke false untuk mewajibkan header Otorisasi (default).
- allowInvalidAuthorization: (default: false) Jika ditetapkan ke true, panggilan API akan diteruskan jika token yang diteruskan di header Otorisasi tidak valid atau sudah tidak berlaku. Setel ini ke false untuk memerlukan token yang valid (default).
- Authorization-header: (default: Authorization: Bearer) Header yang digunakan untuk kirim token akses ke Edge Microgateway. Anda mungkin ingin mengubah {i>default<i} jika target perlu menggunakan {i>header<i} Otorisasi untuk tujuan lain.
- api-key-header: (default: x-api-key) Nama header atau kueri yang digunakan untuk meneruskan kunci API ke Edge Microgateway. Lihat juga Menggunakan kunci API.
- keepAuthHeader: (default: false) Jika ditetapkan ke true, header Otorisasi dikirim dalam permintaan diteruskan ke target (ini dipertahankan).
- allowOAuthOnly -- Jika ditetapkan ke true, setiap API harus memiliki Header otorisasi dengan Token Akses Pemilik. Memungkinkan Anda hanya mengizinkan keamanan OAuth (sambil mempertahankan kompatibilitas mundur). (Ditambahkan 4.2.x)
- allowAPIKeyOnly -- Jika ditetapkan ke true, setiap API harus memiliki header x-api-key (atau lokasi kustom) dengan Kunci API.Allows Anda untuk hanya mengizinkan model keamanan kunci API (sambil mempertahankan kompatibilitas mundur). (Ditambahkan 4.2.x)
Khusus plugin atribut
Lihat Menggunakan plugin untuk detail tentang atribut yang dapat dikonfigurasi untuk setiap plugin.
Memfilter proxy
Anda dapat memfilter proxy berbasis microgateway mana yang akan diproses oleh instance Edge Microgateway.
Saat Edge Microgateway dimulai, semua proxy berbasis microgateway akan didownload
organisasi yang terkait dengannya. Gunakan konfigurasi berikut untuk membatasi {i>proxy<i} mana
akan diproses oleh microgateway. Misalnya, konfigurasi ini membatasi {i>proxy<i} {i>microgateway<i}
akan memproses ke 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 Edge Analytics. Tambahkan kode berikut ke konfigurasi microgateway untuk menyamarkan URI permintaan dan/atau jalur permintaan. Perhatikan bahwa URI terdiri dari nama host dan bagian jalur yang diminta.
analytics: mask_request_uri: 'string_to_mask' mask_request_path: 'string_to_mask'
Menyiapkan Edge Microgateway di belakang firewall perusahaan
V4.2.x yang didukung
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 menetapkan opsi edgemicro: proxy_tunnel ke true di file konfigurasi microgateway:
edge_config: proxy: http://10.224.16.85:3128 proxy_tunnel: true
Jika proxy_tunnel bernilai true, Edge Microgateway menggunakan metode CONNECT HTTP untuk tunnel permintaan HTTP melalui koneksi TCP tunggal. (Hal yang sama berlaku jika variabel lingkungan untuk mengonfigurasi proxy apakah TLS diaktifkan).
Opsi 2:
Opsi kedua adalah menentukan proxy dan mengatur proxy_tunnel ke false di file konfigurasi microgateway. Contoh:
edge_config: proxy: http://10.224.16.85:3128 proxy_tunnel: false
Dalam kasus ini, Anda dapat menetapkan variabel berikut untuk mengontrol host untuk setiap proxy yang ingin Anda gunakan, atau host mana yang tidak boleh menangani Edge Microgateway proxy: HTTP_PROXY, HTTPS_PROXY, dan NO_PROXY.
Anda dapat menetapkan NO_PROXY sebagai daftar domain yang dipisahkan koma yang seharusnya tidak dijadikan proxy Edge Microgateway. Contoh:
export NO_PROXY='localhost,localhost:8080'
Tetapkan HTTP_PROXY dan HTTPS_PROXY ke HTTP endpoint proxy, Edge Microgateway, dapat mengirim pesan ke endpoint tersebut. Contoh:
export HTTP_PROXY='http://localhost:3786' export HTTPS_PROXY='https://localhost:3786'
Untuk 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 balik firewall perusahaan di Komunitas Apigee.
Menggunakan karakter pengganti di berbasis Microgateway {i>proxy<i}
Anda dapat menggunakan satu atau beberapa "*" {i>wildcard <i}di jalur dasar
proxy edgemicro_* (Microgateway-aware). Misalnya, jalur dasar
dari /team/*/members memungkinkan klien untuk
hubungi https://[host]/team/blue/members dan https://[host]/team/green/members tanpa
Anda perlu membuat proxy API baru untuk mendukung tim baru. Catatan
bahwa /**/
tidak didukung.
Penting: Apigee TIDAK mendukung penggunaan karakter pengganti "*" sebagai
elemen pertama dari jalur dasar. Misalnya, ini BUKAN
didukung: penelusuran /*/
.
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 melakukan {i>debugging<i} plugin khusus.
- Mulai ulang Edge Microgateway dalam mode debug. Untuk melakukannya, tambahkan
DEBUG=*
ke awal perintah {i>start<i}. Contoh:
DEBUG=* edgemicro start -o myorg -e test -k db4e9e8a95aa7fabfdeacbb1169d0a8cbe42bec19c6b98129e02 -s 6e56af7c1b26dfe93dae78a735c8afc9796b077d105ae5618ce7ed
Catatan: Di Windows, gunakan
SET DEBUG=*
- Mulai debugger dan setel agar memproses nomor port untuk proses debug.
- Anda sekarang dapat melangkah melalui kode Edge Microgateway, mengatur titik henti sementara, mengamati ekspresi, dan seterusnya.
Anda dapat menentukan flag Node.js standar yang terkait dengan mode debug. Misalnya,
--nolazy
membantu Anda dalam men-debug kode asinkron.
Memeriksa file log
Jika Anda mengalami masalah, pastikan untuk memeriksa file log untuk mengetahui detail eksekusi dan {i>error<i} tidak akurat atau tidak sesuai. 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 Kunci Konsumen (juga disebut Client-ID) dari produk Apigee Edge yang menyertakan proxy autentikasi Edge Microgateway.
Menyimpan ke cache kunci
Kunci API dipertukarkan dengan token pemilik, yang di-cache. Anda dapat menonaktifkan penyimpanan dalam cache dengan menyetel
header Cache-Control: no-cache
pada permintaan yang masuk ke Edge
Microgateway.
Menggunakan keamanan token OAuth2
Untuk detail tentang penggunaan token OAuth dengan permintaan proxy, lihat Mengamankan Microgateway Edge.
Menggunakan kunci API
Untuk detail tentang cara menggunakan kunci API dengan permintaan proxy, lihat Mengamankan Microgateway Edge.
Mengonfigurasi nama kunci API
Secara default, x-api-key
adalah nama yang digunakan untuk header atau kueri kunci API
. Anda dapat mengubah setelan default ini di file konfigurasi, seperti yang dijelaskan dalam Membuat perubahan konfigurasi.
Untuk
misalnya, untuk mengubah namanya menjadi apiKey:
oauth: allowNoAuthorization: false allowInvalidAuthorization: false api-key-header: apiKey