Referensi properti host virtual

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

Representasi host virtual

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

Jika Anda adalah pelanggan Private Cloud, 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 versi 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 tersebut untuk mereferensikan host virtual saat mengonfigurasi proxy API.

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

Tidak ada Ya
Port

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

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 default port akan disetel ke 443. Jika Anda memiliki host virtual yang sudah ada 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 port istimewa, biasanya port 1024 dan di bawahnya. Jika Anda 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 hanya dapat memproses satu koneksi HTTPS per host virtual, pada port 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 host virtual. Berguna jika Anda memiliki load balancer eksternal di depan Edge Router. Lihat Mengonfigurasi akses TLS ke API untuk Private Cloud 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 OCSP responder untuk menentukan apakah sertifikat TLS valid. Respons menunjukkan apakah sertifikat TLS valid dan tidak dicabut.

Jika diaktifkan, OCSP stapling memungkinkan Edge, yang bertindak sebagai server TLS untuk TLS satu arah, untuk mengkueri OCSP responder secara langsung, lalu menyimpan respons dalam cache. Edge kemudian menampilkan respons ini ke klien TLS, atau menggabungkannya, sebagai bagian dari TLS handshake. Lihat Mengaktifkan OCSP Stapling di Server Anda untuk mengetahui informasi selengkapnya.

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

nonaktif Tidak
HostAliases
HostAlias

Nama DNS host virtual yang terlihat secara publik di Router, yang secara opsional menyertakan nomor port. Kombinasi nama alias host dan nomor port untuk host virtual harus unik untuk semua host 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 port sebagai bagian dari alias host, Anda juga harus menentukan port yang sama menggunakan elemen <Port>. Atau, Anda dapat menentukan dua elemen HostAlias, satu dengan nomor port dan satu tanpa nomor port.

Anda dapat memiliki beberapa definisi HostAlias dalam definisi host virtual yang sama, yang sesuai dengan beberapa entri DNS untuk host virtual, tetapi tidak untuk beberapa port. 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 digabungkan dengan karakter lain. Misalnya, *.example.com. Sertifikat TLS untuk host virtual harus memiliki karakter pengganti yang cocok dalam nama CN sertifikat. Misalnya, *.example.com. Dengan menggunakan karakter pengganti di alias host virtual, proxy API dapat 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 virtual per lingkungan agar tetap berada dalam batas produk, karena host virtual dengan karakter pengganti hanya dihitung sebagai satu host virtual.

Untuk Cloud: Jika Anda memiliki host virtual yang sudah ada yang menggunakan port selain 443, Anda tidak dapat menambahkan atau menghapus alias host.

Untuk Private Cloud: Jika Anda menyetel alias host menggunakan alamat IP Router, dan bukan entri DNS, tambahkan alias host terpisah untuk setiap Router, dengan menentukan alamat IP setiap Router dan port host virtual.

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

Menentukan antarmuka jaringan yang ingin Anda ikat ke port. Jika Anda menghilangkan elemen ini, port akan terikat di semua antarmuka.

Misalnya, untuk menentukan pengikatan port hanya 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 untuk Private Cloud 4.18.01 dan yang lebih baru.
RetryOption

Konfigurasi cara Router bereaksi untuk host virtual ini saat Message Processor tidak berfungsi.

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

off Menonaktifkan percobaan ulang, dan host virtual menampilkan kode kegagalan saat ada 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 sedang dimatikan. Prosesor Pesan mencoba menyelesaikan semua permintaan yang ada, tetapi untuk permintaan baru, prosesor ini merespons dengan HTTP 599 untuk memberi sinyal kepada Router agar mencoba lagi permintaan pada Prosesor Pesan berikutnya.

error Jika terjadi error saat membuat koneksi dengan Message Processor, meneruskan permintaan ke Message Processor, atau membaca header respons dari Message Processor, Router meneruskan permintaan ke Message Processor berikutnya.
timeout Jika terjadi waktu tunggu saat membuat koneksi dengan Pemroses Pesan, meneruskan permintaan ke Pemroses Pesan, atau membaca header respons dari Pemroses Pesan, Router akan meneruskan permintaan ke Pemroses Pesan berikutnya.
invalid_header Jika Message Processor menampilkan respons kosong atau tidak valid, Router akan meneruskan permintaan ke Message Processor berikutnya.
http_XXX Jika Pemroses Pesan menampilkan respons dengan kode HTTP XXX, Router akan meneruskan permintaan ke Pemroses Pesan berikutnya.

Jika Anda menentukan beberapa nilai, Router akan 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 mengirimkan permintaan ke Dukungan Apigee Edge.
ListenOption

Jika Anda menggunakan ELB dalam mode pass-thru TCP untuk menangani permintaan ke Edge Router, Router memperlakukan alamat IP ELB sebagai IP klien, bukan IP klien yang sebenarnya. Jika Router memerlukan IP klien yang sebenarnya, aktifkan proxy_protocol di ELB agar meneruskan IP klien dalam paket TCP. Di Router, Anda juga harus menetapkan <ListenOption> di host virtual ke proxy_protocol. Karena ELB berada dalam mode teruskan TCP, Anda biasanya menghentikan TLS di Router. Oleh karena itu, Anda biasanya hanya mengonfigurasi host virtual untuk menggunakan proxy_protocol jika Anda juga mengonfigurasinya untuk menggunakan TLS.

Nilai default untuk <ListenOption> adalah string kosong.

Contoh:

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

Untuk membatalkan setelan <ListenOption> nanti, perbarui host virtual dan hapus tag <ListenOptions> dari update.

SSLInfo
Aktif

Mengaktifkan TLS/SSL satu arah. Anda harus 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. Artinya, Anda tidak dapat mengubah setelan TLS dari diaktifkan menjadi dinonaktifkan, atau dari dinonaktifkan menjadi diaktifkan.

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

Nama keystore di Edge.

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

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

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

Apigee merekomendasikan agar Anda menggunakan referensi untuk menentukan nama truststore sehingga Anda dapat mengubah truststore tanpa harus memulai ulang Router. Lihat Opsi untuk mengonfigurasi TLS untuk mengetahui informasi selengkapnya.

Tidak ada Tidak
IgnoreValidationErrors

Jika benar, tentukan untuk mengabaikan error sertifikat TLS. Hal ini mirip dengan opsi "-k" untuk cURL.

Opsi ini valid saat mengonfigurasi TLS untuk Server Target dan Endpoint Target, dan saat mengonfigurasi host virtual yang menggunakan TLS 2 arah.

Jika digunakan dengan endpoint target/server target, jika sistem backend menggunakan SNI dan menampilkan sertifikat dengan Nama Pembeda (DN) subjek yang tidak cocok dengan nama host, tidak ada cara untuk mengabaikan error dan koneksi akan gagal.

false Tidak
Cipher

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

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

Untuk membatasi sandi, 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 untuk Edge untuk 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 memiliki akun Edge for 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> host virtual juga harus dalam bentuk *.apigee.net.

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

false Tidak
PropagateTLSInformation Hanya tersedia di Alpha untuk Edge Cloud.
ConnectionProperties

Memungkinkan pengambilan informasi koneksi TLS oleh Edge. Informasi ini kemudian tersedia sebagai variabel alur dalam proxy API. Lihat Mengakses informasi koneksi TLS di proxy API untuk mengetahui informasi selengkapnya.

false Tidak
ClientProperties

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

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

Menetapkan 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 Message Processor. Hal ini memastikan bahwa Router tidak mengalami waktu tunggu habis sebelum Message Processor memiliki waktu untuk menampilkan respons. Waktu tunggu target default untuk Prosesor Pesan adalah 55 detik, 55.000 milidetik, sebagaimana ditentukan oleh token conf_http_HTTPTransport.io.timeout.millis untuk Prosesor Pesan.

57 Tidak
keepalive_timeout

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

Router tidak akan menutup koneksi jika saat ini sedang menunggu respons dari Pemroses Pesan. Waktu tunggu dimulai hanya setelah Router menampilkan respons kepada klien.

65 Tidak
ssl_ciphers

Menetapkan sandi yang didukung oleh host virtual, menggantikan sandi default yang ditetapkan di Router.

Tentukan daftar sandi 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 dibatasi spasi, 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 berbagi 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 (on) atau menonaktifkan (off) buffering isi permintaan. Jika buffering diaktifkan, Router akan mem-buffer seluruh isi permintaan sebelum mengirimkannya ke Pemroses Pesan. Jika terjadi error, Router dapat mencoba kembali Message Processor yang berbeda.

Jika nonaktif, buffering dinonaktifkan dan isi permintaan dikirim ke Pemroses Pesan segera setelah diterima. Jika terjadi error, Router tidak akan mencoba kembali permintaan ke Message Processor lain.

aktif Tidak
proxy_buffering Mengaktifkan (on) atau menonaktifkan (off) buffering respons. Jika buffering aktif, Router akan mem-buffer respons. Jika buffering dinonaktifkan, respons akan diteruskan ke klien secara sinkron, segera setelah diterima oleh Router. aktif Tidak