Proxy penerusan menyediakan satu titik yang digunakan beberapa mesin untuk mengirim permintaan ke server eksternal. Proxy API dapat menerapkan kebijakan keamanan, mencatat dan menganalisis permintaan, serta melakukan tindakan lainnya agar permintaan mematuhi aturan bisnis Anda. Dengan Edge, proxy penerusan biasanya menjadi perantara proxy API Anda dan TargetEndpoint eksternal (server target backend).
Untuk menggunakan proxy penerusan HTTP antara Edge dan TargetEndpoint, Anda harus mengonfigurasi setelan proxy keluar di Message Processor (MP). Properti ini mengonfigurasi MP untuk merutekan permintaan target dari Edge ke proxy penerusan HTTP.
Untuk mengonfigurasi MP untuk proxy penerusan:
- Di MP, edit file berikut:
/opt/apigee/customer/application/message-processor.properties
Jika file
message-processor.propertiestidak ada, buat file tersebut. - Edit file untuk menetapkan properti terkait proxy yang dijelaskan dalam tabel di bawah.
- Pastikan file properti dimiliki oleh pengguna 'apigee':
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- Simpan perubahan Anda pada file properti.
- Mulai ulang MP, seperti yang ditunjukkan dalam contoh berikut:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
Tabel berikut menjelaskan properti dalam file message-processor.properties
yang Anda gunakan untuk mengonfigurasi MP untuk proxy penerusan ke server backend:
| Properti | Deskripsi |
|---|---|
conf_http_HTTPClient.use.proxy |
Mengizinkan penggunaan proxy penerusan. Nilai defaultnya adalah Jika Anda menetapkan nilai ini ke |
conf_http_HTTPClient.use.tunneling |
Secara default, Edge menggunakan tunneling untuk semua traffic. Untuk menonaktifkan tunneling secara default, tetapkan properti ini ke "false". |
use.proxy.host.header.with.target.uri |
Menetapkan host dan port target sebagai header
<HTTPTargetConnection>
<Properties>
<Property name="use.proxy.host.
header.with.target.uri">true
</Property>
</Properties>
<URL>https://mocktarget.apigee.net/
my-target</URL>
</HTTPTargetConnection> |
conf/http.properties+HTTPClient.proxy.type |
Menentukan jenis proxy HTTP sebagai HTTP atau HTTPS. Secara default, protokol ini menggunakan "HTTP". |
conf/http.properties+HTTPClient.proxy.host |
Menentukan nama host atau alamat IP tempat proxy HTTP berjalan. |
conf/http.properties+HTTPClient.proxy.port |
Menentukan port tempat proxy HTTP berjalan. Jika properti ini dihilangkan, secara default properti ini akan menggunakan port 80 untuk HTTP dan port 443 untuk HTTPS. |
conf/http.properties+HTTPClient.proxy.user conf/http.properties+HTTPClient.proxy.password |
Jika proxy HTTP memerlukan autentikasi dasar, gunakan properti ini untuk memberikan detail otorisasi. |
Contoh:
conf_http_HTTPClient.use.proxy=true conf_http_HTTPClient.use.tunneling=false conf/http.properties+HTTPClient.proxy.type=HTTP conf/http.properties+HTTPClient.proxy.host=my.host.com conf/http.properties+HTTPClient.proxy.port=3128 conf/http.properties+HTTPClient.proxy.user=USERNAME conf/http.properties+HTTPClient.proxy.password=PASSWORD
Jika proxy penerusan dikonfigurasi untuk MP, semua traffic yang mengarah dari proxy API ke target backend akan melewati proxy penerusan HTTP yang ditentukan. Jika traffic untuk target tertentu dari proxy API harus langsung menuju ke target backend, dengan mengabaikan proxy penerusan, tetapkan properti berikut di TargetEndpoint untuk mengganti proxy penerusan HTTP:
<Property name="use.proxy">false</Property>
Untuk mengetahui informasi selengkapnya tentang cara menetapkan properti TargetEndpoint, termasuk cara mengonfigurasi koneksi ke endpoint target, lihat Referensi properti endpoint.
Untuk menonaktifkan proxy penerusan untuk semua target secara default, tetapkan properti berikut dalam file message-processor.properties Anda:
conf_http_HTTPClient.use.proxy=false
Kemudian, tetapkan use.proxy ke "true" untuk TargetEndpoint apa pun yang ingin Anda arahkan melalui proxy penerusan HTTP:
<Property name="use.proxy">true</Property>
Secara default, Edge menggunakan tunneling untuk traffic ke proxy. Untuk menonaktifkan tunneling secara default,
tetapkan properti berikut dalam file message-processor.properties:
conf_http_HTTPClient.use.tunneling=false
Jika Anda ingin menonaktifkan tunneling untuk target tertentu, tetapkan properti use.proxy.tunneling di TargetEndpoint. Jika target menggunakan TLS/SSL,
properti ini akan diabaikan, dan pesan akan selalu dikirim melalui tunnel:
<Property name="use.proxy.tunneling">false</Property>
Agar Edge dapat bertindak sebagai proxy penerusan, yaitu menerima permintaan dari layanan backend dan merutekannya ke internet di luar perusahaan, siapkan proxy API di Edge terlebih dahulu. Layanan backend kemudian dapat membuat permintaan ke proxy API, yang kemudian dapat terhubung ke layanan eksternal.