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>

Cloud Pribadi 4.15.07 dan sebelumnya

<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 di atribut nama dibatasi untuk: 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 dengan port tersebut.

Untuk Cloud: Anda harus menentukan port 443 saat membuat host virtual. Jika dihilangkan, port akan ditetapkan ke 443 secara default. Jika sudah memiliki host virtual yang menggunakan port selain 443, Anda tidak dapat mengubah port.

Untuk rilis Private Cloud 4.16.01 hingga 4.17.05: Saat membuat host virtual, Anda menentukan port Router yang digunakan oleh host virtual. Misalnya, port 9001. Secara default, Router berjalan sebagai pengguna "apigee" yang tidak memiliki akses ke porta dengan hak istimewa yang lebih tinggi, biasanya porta 1024 dan yang lebih rendah. Jika ingin membuat host virtual yang mengikat Router ke port yang dilindungi, Anda harus mengonfigurasi Router agar berjalan sebagai pengguna dengan akses ke port tersebut. Lihat Menyiapkan host virtual untuk mengetahui informasi selengkapnya.

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 host virtual tidak dapat menggunakan nomor port yang sama jika penghentian TLS terjadi di Router pada port 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 jika Anda memiliki load balancer eksternal di depan Edge Router. Lihat Mengonfigurasi akses TLS ke API untuk Cloud Pribadi untuk mengetahui informasi selengkapnya.

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

Tidak ada Tidak
OCSPStapling

Klien OCSP (Online Certificate Status Protocol) mengirimkan permintaan status ke responder OCSP untuk menentukan apakah sertifikat TLS valid. Respons ini menunjukkan apakah sertifikat TLS valid dan tidak dicabut.

Jika diaktifkan, penempelan OCSP memungkinkan Edge, yang bertindak sebagai server TLS untuk TLS satu arah, mengkueri responden OCSP secara langsung, lalu meng-cache responsnya. Edge kemudian menampilkan respons ini ke klien TLS, atau mempersiapkannya, sebagai bagian dari handshake TLS. Lihat Mengaktifkan Stapling OCSP di Server Anda untuk mengetahui informasi selengkapnya.

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

nonaktif Tidak
HostAliases
HostAlias

Nama DNS host virtual yang terlihat secara publik 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. Artinya, beberapa host virtual dapat menggunakan nomor port yang sama jika memiliki alias host yang berbeda.

Anda harus membuat entri DNS dan data CNAME yang cocok dengan alias host, dan alias host 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 host virtual dengan port yang berbeda.

Anda dapat menyertakan karakter pengganti "*" dalam alias host. Karakter pengganti "*" hanya dapat berada di awal (sebelum "." pertama) alias host, dan tidak dapat dicampur dengan karakter lain. Misalnya, *.example.com. Sertifikat TLS untuk {i> virtual host<i} harus memiliki {i>wildcard <i}yang cocok di nama CN dari sertifikat. Misalnya, *.example.com. Penggunaan karakter pengganti di alias host 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 sudah memiliki host virtual yang menggunakan port selain 443, Anda tidak dapat menambahkan atau menghapus alias host.

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 pada host virtual.

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

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

Misalnya, untuk menentukan agar port hanya terikat ke en0:

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

Tentukan antarmuka yang tersedia di sistem Anda dengan menjalankan perintah "ifconfig -a".

Tidak ada Semua antarmuka
RetryOptions Tersedia untuk Edge Cloud dan Private Cloud 4.18.01 dan yang lebih baru.
RetryOption

Konfigurasikan reaksi Router untuk host virtual ini saat Message Processor berhenti berfungsi.

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 Processor, Router akan meneruskan permintaan ke Message Processor berikutnya.

HTTP 599 adalah kode respons khusus yang dihasilkan oleh Message Processor saat dimatikan. Message Processor mencoba menyelesaikan semua permintaan yang ada, tetapi untuk permintaan baru, Message Processor akan merespons dengan HTTP 599 untuk memberi sinyal kepada Router agar mencoba lagi permintaan di Message Processor berikutnya.

error Jika terjadi error saat membuat koneksi dengan Message Processor, meneruskan permintaan ke Message Processor, atau membaca header respons dari Message Processor, Router akan meneruskan permintaan ke Message Processor 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, Router akan 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 untuk Edge Cloud dengan mengajukan permintaan ke Dukungan Apigee Edge.
ListenOption

Jika Anda menggunakan ELB dalam mode pass-thru TCP untuk menangani permintaan ke Edge Router, Router akan memperlakukan alamat IP ELB sebagai IP klien, bukan IP klien yang sebenarnya. Jika Router memerlukan IP klien yang sebenarnya, aktifkan 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 saat 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 telah 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 mengetahui informasi selengkapnya.

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 Enabled bernilai 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 untuk Private Cloud versi 4.15.07 dan yang lebih lama.

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

Untuk membatasi cipher, tambahkan 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, 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 memiliki akun Edge for Cloud berbayar dan belum memiliki kunci dan sertifikat TLS, Anda dapat membuat host virtual yang menggunakan kunci dan sertifikat 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> 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 mengetahui informasi selengkapnya.

salah Tidak
Properti Tersedia untuk Edge Cloud dan Private Cloud 4.17.01 dan yang lebih baru.
proxy_read_timeout

Menyetel durasi waktu tunggu, dalam detik, antara Pemroses Pesan dan Router. Router akan menghentikan koneksi dan menampilkan respons HTTP 504 jika tidak mendapatkan respons dari Message Processor 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 Message Processor adalah 55 detik, 55.000 milidetik, seperti yang ditentukan oleh token conf_http_HTTPTransport.io.timeout.millis untuk Message Processor.

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.

Router tidak akan menutup koneksi jika saat ini sedang menunggu respons dari Message Processor. 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 bahwa token ini menggunakan nama cipher 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 host virtual, sebagai daftar yang dipisahkan spasi, yang menggantikan protokol default yang ditetapkan di Router.

Catatan: Jika dua host virtual menggunakan port yang sama, keduanya harus menetapkan ssl_protocols ke protokol yang sama. Artinya, host virtual yang menggunakan port 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. Jika buffering aktif, Router akan melakukan buffering pada seluruh isi permintaan sebelum mengirimkannya ke Message Processor. Jika terjadi error, Router dapat mencoba lagi ke Pemroses Pesan yang berbeda.

Jika nonaktif, buffering akan dinonaktifkan dan isi permintaan akan segera dikirim ke Message Processor 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