Referensi properti host virtual

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

Representasi virtual host

Objek XML yang Anda gunakan untuk mendefinisikan host virtual didasarkan pada versi Edge: Cloud Anda atau Private Cloud.

Jika Anda pelanggan Private Cloud, maka Anda harus memastikan bahwa Anda menggunakan XML yang benar untuk versi Edge Anda.

Cloud dan Private Cloud 4.17.01 dan yang lebih baru

<VirtualHost name="vhostName">
    <Port>portNumber</Port>
    <BaseUrl>http://myCo.com</BaseUrl>
    <OCSPStapling>offOn</OCSPStapling>
    <HostAliases>
        <HostAlias>hostAlias</HostAlias>
    </HostAliases>
    <Interfaces>
        <!-- Private Cloud only -->
        <Interface>interfaceName</Interface>
    </Interfaces>
    <RetryOptions>
        <RetryOption>option</RetryOption>
    </RetryOptions>
    <ListenOptions>
        <ListenOption>option</ListenOption>
    </ListenOptions>
    <SSLInfo>
        <Enabled>trueFalse</Enabled>
        <ClientAuthEnabled>trueFalse</ClientAuthEnabled>
        <KeyStore>ref://keystoreRef</KeyStore>
        <KeyAlias>keyAlias</KeyAlias>
        <TrustStore>ref://truststoreRef</TrustStore>
        <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
    </SSLInfo>
    <!-- UseBuiltInFreeTrialCert is for Edge Cloud only -->
    <UseBuiltInFreeTrialCert>trueFalse</UseBuiltInFreeTrialCert>
    <PropagateTLSInformation>
        <!-- PropagateTLSInformation is Alpha in the Cloud only -->
        <ConnectionProperties>trueFalse</ConnectionProperties>
        <ClientProperties>trueFalse</ClientProperties>
    </PropagateTLSInformation>
    <Properties>
        <Property name="proxy_read_timeout">timeout</Property>
        <Property name="keepalive_timeout">timeout</Property>
        <Property name="proxy_request_buffering">onOff</Property>
        <Property name="proxy_buffering">onOff</Property>
        <!-- ssl_protocols is Private Cloud only -->
        <Property name="ssl_protocols">protocolList</Property>
        <Property name="ssl_ciphers">cipherList</Property>
    </Properties>
</VirtualHost>

Private Cloud 4.16.01 hingga 4.16.09

<VirtualHost name="vhostName">
    <Port>portNumber</Port>
    <HostAliases>
        <HostAlias>hostAlias</HostAlias>
    </HostAliases>
    <Interfaces>
        <Interface>interfaceName</Interface>
    </Interfaces>
    <SSLInfo>
        <Enabled>trueFalse</Enabled>
        <ClientAuthEnabled>trueFalse</ClientAuthEnabled>
        <KeyStore>ref://keystoreRef</KeyStore>
        <KeyAlias>keyAlias</KeyAlias>
        <TrustStore>ref://truststoreRef</TrustStore>
        <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
    </SSLInfo>
</VirtualHost>

Private Cloud 4.15.07 dan lebih cepat

<VirtualHost name="vhostName">
    <Port>portNumber</Port>
    <HostAliases>
        <HostAlias>hostAlias</HostAlias>
    </HostAliases>
    <Interfaces>
        <Interface>interfaceName</Interface>
    </Interfaces>
    <SSLInfo>
        <Enabled>trueFalse</Enabled>
        <ClientAuthEnabled>trueFalse</ClientAuthEnabled>
        <KeyStore>keystore</KeyStore>
        <KeyAlias>keyAlias</KeyAlias>
        <TrustStore>truststore</TrustStore>
        <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
        <Ciphers>
             <Cipher>cipher</Cipher>
             <Cipher>cipher</Cipher>
         </Ciphers>
         <Protocols>
             <Protocol>protocol</Protocol>
             <Protocol>protocol</Protocol>
         </Protocols>
    </SSLInfo>
</VirtualHost>

Properti konfigurasi host virtual

Tabel berikut mencantumkan properti yang Anda gunakan untuk mengonfigurasi host virtual:

Properti Deskripsi Default Wajib
VirtualHost

Menentukan nama host virtual. Anda menggunakan nama itu untuk mereferensikan {i>host<i} virtual saat mengonfigurasi proxy API.

Karakter yang dapat Anda gunakan dalam atribut nama dibatasi hingga: A-Z0-9._\-$%.

Tidak ada Ya
Port

Menentukan nomor port yang digunakan oleh host virtual. Pastikan port terbuka pada Router Edge.

Jika Anda menentukan port dalam elemen hostalias, nomor port yang ditentukan oleh <Port> harus cocok.

Untuk Cloud: Anda harus menentukan port 443 saat membuat host virtual. Jika dihilangkan, secara {i>default<i} portanya ditetapkan ke 443. Jika Anda sudah memiliki {i> host<i} virtual yang menggunakan porta selain 443, Anda tidak dapat mengubah porta.

Untuk rilis Private Cloud 4.16.01 hingga 4.17.05: Saat membuat {i>host<i} virtual, Anda menentukan porta {i> Router<i} yang digunakan oleh {i>host<i} virtual. Misalnya, port 9001. Secara default, Router berjalan sebagai pengguna "apigee" yang tidak memiliki akses ke porta dengan hak istimewa, biasanya porta 1024 dan yang lebih rendah. Jika Anda ingin membuat {i>host<i} virtual yang mengikat {i>Router<i} ke porta yang dilindungi maka Anda harus mengkonfigurasi {i>Router<i} untuk berjalan sebagai pengguna dengan akses ke porta tersebut. Lihat Menyiapkan host virtual untuk banyak lagi.

Untuk rilis Private Cloud sebelum 4.16.01: Router dapat memproses hanya satu koneksi HTTPS per host virtual, pada porta tertentu, dengan sertifikat yang ditentukan. Oleh karena itu, beberapa {i>host<i} virtual tidak dapat menggunakan nomor port yang sama jika TLS menghentikan terjadi pada {i>Router<i} pada porta yang ditentukan.

Tidak ada Ya
BaseUrl Mengganti URL yang ditampilkan oleh UI Edge untuk proxy API yang di-deploy ke virtual {i>host<i}. Berguna saat Anda memiliki load balancer eksternal di depan Router Edge. Lihat Mengonfigurasi TLS akses ke API untuk Private Cloud guna mengetahui informasi selengkapnya.

Nilai BaseUrl harus menyertakan protokol (yaitu, "http://" atau "https://").

Tidak ada Tidak
OCSPStapling

Klien OCSP ({i>Online Certificate Status Protocol<i}) mengirim status ke responden OCSP untuk menentukan apakah sertifikat TLS valid. Respons menunjukkan apakah sertifikat TLS valid dan tidak dicabut.

Jika diaktifkan, penjadwalan OCSP memungkinkan Edge, yang bertindak sebagai server TLS untuk TLS satu arah, untuk membuat kueri terhadap responden OCSP secara langsung dan kemudian meng-cache respons tersebut. Edge kemudian menampilkan respons ini ke klien TLS, atau mempersiapkannya, sebagai bagian dari handshake TLS. Lihat Mengaktifkan Stapling OCSP di Server Anda untuk lebih banyak.

TLS harus diaktifkan untuk mengaktifkan stabilisasi OCSP. Setel ke on untuk mengaktifkan. Nilai defaultnya adalah off.

nonaktif Tidak
HostAliases
HostAlias

Nama DNS yang terlihat secara publik dari host virtual di Router, secara opsional menyertakan nomor port. Kombinasi nama alias {i>host<i} dan nomor porta untuk {i>host<i} virtual harus unik untuk semua {i>host<i} virtual dalam penginstalan Edge. Itu berarti beberapa virtual {i>host <i}dapat menggunakan nomor porta yang sama jika mereka memiliki alias {i>host<i} yang berbeda.

Anda harus membuat entri DNS dan data CNAME yang cocok dengan alias host, dan host alias harus cocok dengan string yang diteruskan klien di header Host.

Nomor port di HostAlias bersifat opsional. Jika Anda menentukan porta sebagai bagian dari alias {i>host<i}, Anda juga harus menentukan porta yang sama dengan Elemen <Port>. Atau, Anda dapat menentukan dua elemen HostAlias, satu dengan nomor porta dan satu lagi tanpa nomor porta.

Anda dapat memiliki beberapa definisi HostAlias dalam definisi {i>host<i} virtual yang sama, sesuai dengan banyak entri DNS untuk {i>host<i} virtual, tetapi tidak untuk banyak porta. Jika Anda menginginkan beberapa port, buat beberapa definisi {i>host<i} virtual dengan porta yang berbeda.

Anda dapat menyertakan "*" {i>wildcard <i}dalam alias {i>host<i}. "*" karakter pengganti dapat hanya berada di awal (mendahului ".") pertama dari alias host, dan tidak dapat dicampur dengan karakter lain. Misalnya, *.example.com. Sertifikat TLS untuk host virtual harus memiliki {i>wildcard <i}yang cocok di nama CN dari sertifikat. Misalnya, *.example.com. Menggunakan {i>wildcard <i}dalam alias {i>host<i} virtual memungkinkan Proxy API menangani panggilan yang ditujukan ke beberapa subdomain seperti alpha.example.com, beta.example.com, atau live.example.com. Menggunakan alias karakter pengganti juga membantu Anda menggunakan lebih sedikit host per lingkungan untuk tetap berada dalam produk , karena host virtual dengan karakter pengganti hanya dihitung sebagai satu host virtual.

Untuk Cloud: Jika Anda sudah memiliki virtual host yang menggunakan port lain dari 443, Anda tidak dapat menambah atau menghapus alias {i>host<i}.

Untuk Private Cloud: Jika Anda menyetel alias host menggunakan IP alamat {i>Router<i} Anda, dan bukan entri DNS, tambahkan alias {i>host<i} terpisah untuk setiap Router, yang menentukan alamat IP setiap Router dan port dari host virtual.

Tidak ada Ya
Antarmuka Hanya tersedia untuk Edge untuk Private Cloud.
Antarmuka

Menentukan antarmuka jaringan yang ingin Anda kaitkan dengan port. Jika Anda menghilangkan elemen ini, porta terikat pada semua antarmuka.

Misalnya, untuk menentukan untuk mengikat port hanya ke en0:

<Interfaces>
  <Interface>en0</Interface>
</Interfaces>

Tentukan antarmuka yang tersedia di sistem Anda dengan menjalankan {i>ifconfig -a<i} perintah.

Tidak ada Semua antarmuka
RetryOptions Tersedia untuk Edge Cloud dan Private Cloud 4.18.01 serta nanti.
RetryOption

Konfigurasi reaksi Router untuk host virtual ini saat Pemroses Pesan berjalan ke bawah.

Anda dapat menentukan beberapa nilai menggunakan <RetryOption>. Nilai valid termasuk:

off Menonaktifkan percobaan ulang, dan host virtual menampilkan kode kegagalan berdasarkan permintaan.
http_599 (Default) Jika Router menerima respons HTTP 599 dari Message Pemroses, Router meneruskan permintaan ke Pemroses Pesan berikutnya.

HTTP 599 adalah kode respons khusus yang dibuat oleh fitur Pesan Prosesor saat sedang dimatikan. Pemroses Pesan mencoba menyelesaikan semua tetapi untuk setiap permintaan baru yang merespons dengan HTTP 599 untuk memberi sinyal {i>Router<i} untuk mengulangi permintaan pada Pemroses Pesan berikutnya.

error Jika terjadi {i>error<i} saat membuat koneksi dengan Pemroses Pesan, meneruskan permintaan, atau membaca {i>header<i} respons darinya, {i>Router<i} meneruskan permintaan ke Pemroses Pesan berikutnya.
timeout Jika waktu tunggu habis saat menyambung koneksi dengan Pemroses Pesan, meneruskan permintaan, atau membaca {i>header<i} respons darinya, {i>Router<i} meneruskan permintaan ke Pemroses Pesan berikutnya.
invalid_header Jika Pemroses Pesan menampilkan respons kosong atau tidak valid, meneruskan permintaan ke Pemroses Pesan berikutnya.
http_XXX Jika Pemroses Pesan menampilkan respons dengan HTTP kode XXX, Router meneruskan permintaan ke Pesan berikutnya Pemroses.

Jika Anda menentukan beberapa nilai, Router menggunakan OR logis untuk menggabungkannya.

Contoh:

<RetryOptions>
  <RetryOption>http_599</RetryOption>
  <RetryOption>error</RetryOption>
  <RetryOption>timeout</RetryOption>
  <RetryOption>invalid_header</RetryOption>
</RetryOptions>
ListenOptions Tersedia untuk Private Cloud 4.18.01 dan yang lebih baru serta Edge Cloud dengan membuat permintaan ke Dukungan Apigee Edge.
ListenOption

Jika Anda menggunakan ELB dalam mode {i>pass-thru<i} TCP untuk menangani permintaan ke Router Edge, {i>Router<i} memperlakukan alamat IP ELB sebagai IP klien, bukan IP klien yang sebenarnya. Jika {i>Router<i} membutuhkan IP klien yang sebenarnya, mengaktifkan proxy_protocol di ELB sehingga meneruskan IP klien dalam paket TCP. Di {i>Router<i}, Anda juga harus mengatur <ListenOption> pada host virtual ke proxy_protocol. Karena ELB berada dalam mode pass-thru TCP, biasanya Anda menghentikan TLS pada Router. Oleh karena itu, Anda biasanya hanya mengonfigurasi host virtual untuk menggunakan proxy_protocol ketika Anda juga mengonfigurasinya untuk menggunakan TLS.

Nilai default untuk <ListenOption> adalah kosong {i>string<i}.

Contoh:

<ListenOptions>
  <ListenOption>proxy_protocol</ListenOption>
</ListenOptions>

Untuk membatalkan setelan <ListenOption> di lain waktu, perbarui host virtual dan menghilangkan tag <ListenOptions> dari memperbarui.

SSLInfo
Aktif

Mengaktifkan TLS/SSL satu arah. Anda harus sudah menentukan keystore yang berisi sertifikat dan kunci pribadi.

Untuk Cloud: Anda harus memiliki sertifikat yang ditandatangani oleh entitas tepercaya, seperti Symantec atau VeriSign. Anda tidak dapat menggunakan sertifikat yang ditandatangani sendiri, atau sertifikat leaf yang ditandatangani oleh CA yang ditandatangani sendiri.

Untuk Cloud: Jika host virtual yang ada dikonfigurasi untuk menggunakan port selain 443, Anda tidak dapat mengubah setelan TLS. Itu berarti Anda tidak dapat mengubah pengaturan TLS dari diaktifkan menjadi dinonaktifkan, atau dari dinonaktifkan menjadi diaktifkan.

salah Tidak
ClientAuthEnabled Memungkinkan TLS dua arah atau klien antara Edge (server) dan aplikasi (klien) sehingga permintaan. Mengaktifkan TLS dua arah mengharuskan Anda menyiapkan truststore di Edge yang berisi sertifikat dari klien TLS. salah Tidak
KeyStore

Nama keystore di Edge.

Apigee merekomendasikan agar Anda menggunakan referensi untuk menentukan nama keystore agar Anda mengubah keystore tanpa harus memulai ulang Router. Lihat Opsi untuk mengonfigurasi TLS untuk informasi lainnya.

Tidak ada Ya jika Diaktifkan benar
KeyAlias Alias yang ditentukan saat Anda mengupload sertifikat dan kunci pribadi ke keystore. Anda harus menyebutkan nama alias secara harfiah; Anda tidak dapat menggunakan referensi. Lihat Opsi untuk mengonfigurasi TLS untuk informasi selengkapnya. Tidak ada Ya jika Diaktifkan benar
TrustStore

Nama truststore di Edge yang berisi sertifikat atau rantai sertifikat yang digunakan untuk TLS dua arah. Wajib jika <ClientAuthEnabled> benar.

Apigee merekomendasikan agar Anda menggunakan referensi untuk menentukan nama truststore sehingga Anda dapat mengubah truststore tanpa harus memulai ulang {i>Router<i}. Lihat Opsi untuk mengonfigurasi TLS untuk informasi lainnya.

Tidak ada Tidak
IgnoreValidationErrors

Jika true (benar), menentukan untuk mengabaikan error sertifikat TLS. Ini mirip dengan "-k" opsi ke cURL.

Opsi ini valid saat mengonfigurasi TLS untuk Server Target dan Endpoint Target, serta saat mengonfigurasi {i>host<i} virtual yang menggunakan TLS 2 arah.

Saat digunakan dengan server target/endpoint target, jika sistem backend menggunakan SNI dan menampilkan sertifikat dengan {i>Distinguished Name<i} (DN) subjek yang tidak cocok dengan nama {i>host<i}, tidak mungkin untuk mengabaikan {i>error<i} dan koneksi gagal.

salah Tidak
Penyandian

Khusus Edge for Private Cloud versi 4.15.07 dan yang lebih lama.

Menentukan cipher yang didukung oleh host virtual. Jika tidak ada penyandian yang ditentukan, maka semua penyandian yang tersedia untuk JVM akan diizinkan.

Untuk membatasi penyandian, tambahkan elemen-elemen berikut:

<Ciphers>
  <Cipher>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA</Cipher>
  <Cipher>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256</Cipher>
</Ciphers>
Semua didukung oleh JVM Tidak
Protokol

Khusus Edge for Private Cloud versi 4.15.07 dan yang lebih lama.

Menentukan protokol yang didukung oleh host virtual. Jika tidak ada protokol yang ditentukan, maka semua protokol yang tersedia untuk JVM akan diizinkan.

Untuk membatasi protokol, tambahkan elemen berikut:

<Protocols>
  <Protocol>TLSv1</Protocol>
  <Protocol>TLSv1.2</Protocol>
  <Protocol>SSLv2Hello</Protocol>
</Protocols>
Semua didukung oleh JVM Tidak
UseBuiltInFreeTrialCert Hanya tersedia untuk Edge Cloud.
UseBuiltInFreeTrialCert

Jika Anda memiliki akun Edge untuk Cloud berbayar dan belum memiliki sertifikat dan kunci TLS, Anda dapat membuat host virtual yang menggunakan sertifikat dan kunci uji coba gratis Apigee. Artinya, Anda dapat membuat host virtual tanpa membuat keystore terlebih dahulu.

Sertifikat uji coba gratis Apigee ditentukan untuk domain *.apigee.net. Oleh karena itu, <HostAlias> dari host virtual juga harus dalam bentuk *.apigee.net.

Lihat Menentukan host virtual yang menggunakan sertifikat dan kunci uji coba gratis Apigee.

salah Tidak
PropagateTLSInformation Hanya tersedia di Alfa untuk Edge Cloud.
ConnectionProperties

Mengaktifkan pengambilan informasi koneksi TLS oleh Edge. Informasi ini kemudian tersedia sebagai variabel alur di proxy API. Lihat Mengakses informasi koneksi TLS di proxy API untuk lebih banyak.

salah Tidak
ClientProperties

Memungkinkan pengambilan detail sertifikat klien yang diambil oleh Edge dalam TLS dua arah. Informasi ini kemudian tersedia sebagai variabel alur di proxy API. Lihat Mengakses informasi koneksi TLS di proxy API untuk lebih banyak.

salah Tidak
Properti Tersedia untuk Edge Cloud dan Private Cloud 4.17.01 serta nanti.
proxy_read_timeout

Menyetel durasi waktu tunggu, dalam detik, antara Pemroses Pesan dan Router. Tujuan {i>Router<i} menjatuhkan koneksi dan mengembalikan respons HTTP 504 jika tidak mendapatkan respons dari Pemroses Pesan sebelum durasi ini berakhir.

Nilai proxy_read_timeout harus lebih besar daripada nilai waktu tunggu target yang digunakan oleh Pemroses Pesan. Hal ini memastikan bahwa {i>Router<i} tidak menghabiskan waktu sebelum Pemroses Pesan punya waktu untuk menampilkan respons. Waktu tunggu target default untuk Pemroses Pesan adalah 55 detik, 55.000 milidetik, seperti yang didefinisikan oleh conf_http_HTTPTransport.io.timeout.millis token untuk Pesan Pemroses.

57 Tidak
keepalive_timeout

Menetapkan durasi waktu tunggu, dalam detik, antara klien dan Router saat klien membuat permintaan yang berisi header Keep-Alive. Router menjaga koneksi tetap terbuka hingga durasi kedaluwarsa.

{i>Router<i} tidak akan menutup koneksi jika sedang menunggu respons dari Pemroses Pesan. Waktu tunggu dimulai hanya setelah Router menampilkan respons kepada klien.

65 Tidak
ssl_ciphers

Menetapkan penyandian yang didukung oleh {i>host<i} virtual, menggantikan penyandian yang ditetapkan secara {i>default<i} pada {i>Router<i}.

Tentukan daftar cipher yang dipisahkan titik dua, dalam bentuk:

<Property name="ssl_ciphers">HIGH:!aNULL:!MD5:!DH+3DES:!kEDH;</Property>

Untuk mengetahui informasi tentang sintaksis dan nilai yang diizinkan oleh token ini, lihat https://www.openssl.org/docs/man1.0.2/man1/ciphers.html. Perhatikan, token ini menggunakan nama penyandian OpenSSL, seperti AES128-SHA256, dan bukan Nama cipher Java/JSSE, seperti TLS_RSA_WITH_AES_128_CBC_SHA256.

TINGGI:!aNULL:

!MD5:

!DH+3DES:

!kEDH

Tidak
ssl_protocols

Hanya tersedia untuk Edge untuk Private Cloud.

Menetapkan protokol TLS yang didukung oleh {i>host<i} virtual, sebagai daftar yang dibatasi spasi, mengganti protokol {i>default<i} yang ditetapkan pada {i>Router<i}.

Catatan: Jika dua host virtual memiliki port yang sama, keduanya harus menetapkan ssl_protocols ke protokol yang sama. Artinya, {i>host<i} virtual yang berbagi porta yang sama harus mendukung protokol yang sama persis.

Tentukan daftar protokol TLS yang dipisahkan spasi, dalam bentuk:

<Property name="ssl_protocols">TLSv1 TLSv1.2</Property>
TLSv1 TLSv1.1 TLSv1.2 Tidak
proxy_request_buffering

Mengaktifkan (aktif) atau menonaktifkan (nonaktif) buffering isi permintaan. Saat buffering aktif, Router mem-buffer seluruh isi permintaan sebelum mengirimkannya ke Pemroses Pesan. Jika terjadi error, Router dapat mencoba lagi ke Pemroses Pesan yang berbeda.

Jika nonaktif, buffering akan dinonaktifkan dan isi permintaan akan dikirim ke Pemroses Pesan segera setelah diterima. Jika terjadi {i>error<i}, {i>Router<i} tidak akan mencoba kembali ke Pemroses Pesan lainnya.

aktif Tidak
proxy_buffering Mengaktifkan (aktif) atau menonaktifkan (nonaktif) buffering respons. Saat buffering aktif, Router melakukan buffer respons. Ketika buffering nonaktif, respons diteruskan ke klien secara sinkron, segera setelah diterima oleh {i>Router<i}. aktif Tidak