Mengonfigurasi proxy maju

Proxy penerusan menyediakan satu titik tempat beberapa mesin mengirim permintaan ke server eksternal. Mereka dapat menerapkan kebijakan keamanan, mencatat dan menganalisis permintaan, serta melakukan tindakan lainnya sehingga permintaan mematuhi aturan bisnis Anda. Dengan Edge, proxy penerusan biasanya perantara 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 pada Pesan Pemroses (MP). Properti ini mengonfigurasi MP untuk merutekan permintaan target dari Edge ke proxy penerusan HTTP.

Untuk mengonfigurasi MP untuk penerusan proxy:

  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 pada file properti.
  5. Mulai ulang MP, seperti yang ditunjukkan contoh berikut:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

Tabel berikut menjelaskan properti di file message-processor.properties yang Anda gunakan untuk mengonfigurasi MP untuk penerusan proxy 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 nilai ini ditetapkan 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 port dan host target sebagai header Host. Secara default, port dan host proxy disetel 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, skrip 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 tersebut 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 menuju dari proxy API ke target backend akan melalui proxy penerusan HTTP yang ditentukan. Jika traffic untuk target tertentu dari proxy API harus langsung mengarah ke target backend, tanpa mengabaikan proxy depan, lalu 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 semua target secara default, tetapkan properti berikut dalam file message-processor.properties Anda:

conf_http_HTTPClient.use.proxy=false

Kemudian setel use.proxy ke "true" untuk setiap TargetEndpoint yang ingin Anda lalui 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 selalu dikirim melalui tunnel:

<Property name="use.proxy.tunneling">false</Property>

Agar Edge sendiri bertindak sebagai proxy penerusan - menerima permintaan dari layanan backend dan merutekannya ke internet di luar perusahaan - pertama-tama siapkan proxy API di Edge. Layanan backend kemudian dapat membuat permintaan ke proxy API, yang kemudian dapat terhubung ke layanan eksternal.