Mengonfigurasi proxy maju

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:

  1. Di MP, edit file berikut:
    /opt/apigee/customer/application/message-processor.properties

    Jika file message-processor.properties tidak ada, buat file tersebut.

  2. Edit file untuk menetapkan properti terkait proxy yang dijelaskan dalam tabel di bawah.
  3. Pastikan file properti dimiliki oleh pengguna 'apigee':
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  4. Simpan perubahan Anda pada file properti.
  5. 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 true, yang berarti Anda dapat menggunakan proxy penerusan di lapisan proxy API dengan menyertakan XML yang relevan dalam konfigurasi paket Anda.

Jika Anda menetapkan nilai ini ke false, Anda tidak dapat menggunakan proxy penerusan.

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 Host. Secara default, host dan port proxy ditetapkan sebagai header Host. Anda hanya dapat menetapkan properti ini di Endpoint Target. Contoh:

<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.