Mengonfigurasi host virtual untuk Cloud

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

Pelanggan Cloud dengan akun berbayar dapat membuat host virtual di organisasi.

Pelajari lebih lanjut:

Siapa yang dapat membuat dan mengubah host virtual di Cloud

Pembuatan dan modifikasi host virtual hanya tersedia untuk akun berbayar di Edge Cloud. Pengguna yang membuat host virtual harus memiliki peran administrator organisasi, atau dalam peran khusus dengan izin untuk mengubah host virtual. Pengguna dalam peran lain tidak memiliki otorisasi untuk membuat host virtual.

Misalnya, pelanggan berbayar dapat:

  • Mengaktifkan TLS satu arah dan dua arah
  • Menentukan keystore/truststore yang digunakan oleh host virtual

Akun gratis dan uji coba tidak dapat membuat atau memodifikasi host virtual dan terbatas pada host virtual yang dibuat untuknya pada waktu pendaftaran Edge. Untuk mengetahui informasi selengkapnya tentang paket harga Edge, lihat https://apigee.com/api-management/#/pricing.

Persyaratan guna mengonfigurasi host virtual untuk Cloud

Tabel berikut merangkum persyaratan untuk membuat host virtual:

Kategori Persyaratan Deskripsi
Jenis akun Berbayar Akun gratis dan uji coba tidak dapat membuat atau memodifikasi host virtual.
Peran pengguna admin organisasi Hanya admin org yang dapat membuat host virtual, atau pengguna dalam peran khusus yang memiliki izin untuk mengubah host virtual.
Jumlah host virtual 20 maksimum

Anda dibatasi hingga maksimum 20 host virtual per organisasi/lingkungan di Cloud.

Catatan: Tidak ada batasan jumlah host virtual di Private Cloud.

Sebagian besar organisasi/lingkungan menggunakan dua host virtual: satu untuk HTTP dan satu untuk akses HTTPS. Anda mungkin memerlukan host virtual tambahan jika organisasi/lingkungan Anda mengizinkan akses menggunakan nama domain yang berbeda.

URL Dasar Mencakup protokol Saat menentukan URL dasar untuk host virtual, baik di UI atau dengan API, Anda harus menentukan protokol (yaitu, "http://" atau "https://") sebagai bagian dari URL.
Port 443

Anda hanya dapat membuat host virtual pada port 443.

Perhatikan bahwa Anda dapat membuat beberapa host virtual pada port 443 selama host virtual tersebut memiliki alias host unik dan semuanya mendukung TLS.

TLS Wajib

Anda hanya dapat membuat host virtual yang mendukung TLS melalui HTTPS. Anda harus sudah membuat keystore, dan secara opsional truststore, yang berisi sertifikat dan kunci TLS Anda.

Anda harus memiliki sertifikat yang ditandatangani oleh entitas tepercaya, seperti Symantec atau VeriSign. Anda tidak dapat menggunakan sertifikat yang ditandatangani sendiri.

Jika Anda memerlukan akses HTTP, hubungi Dukungan Apigee Edge.

Protokol TLS TLS 1.2

Edge di Cloud hanya mendukung TLS versi 1.2.

Alias host Unik dalam organisasi dan lingkungan Alias host tidak ada untuk kombinasi organisasi/lingkungan lain.
Nama domain Milik pelanggan

Anda harus memiliki nama domain yang disebutkan dalam host virtual. Edge akan memeriksa untuk memastikan bahwa nama domain, seperti yang ditetapkan oleh alias host, sesuai dengan metadata dalam sertifikat TLS.

Secara khusus, Edge memeriksa informasi berikut dalam sertifikat:

  • CN - Nama Umum
  • SAN - Nama Alternatif Subjek

Karakter pengganti diizinkan di SAN atau CN, misalnya, *.myco.net.

Edge juga memvalidasi bahwa masa berlaku sertifikat belum berakhir.

Dukungan SNI aplikasi klien Semua aplikasi klien yang mengakses host virtual harus mendukung SNI.

Dukungan SNI diperlukan oleh semua aplikasi.

Membuat host virtual menggunakan browser

Sebagian besar contoh di bagian ini menggunakan Edge API untuk membuat atau memodifikasi host virtual, tetapi Anda dapat membuat host virtual di UI Edge.

Untuk membuat host virtual menggunakan Edge UI:

  1. Login ke apigee.com/edge.
  2. Pilih Admin > Virtual Hosts.
  3. Pilih lingkungan, seperti prod atau test.
  4. Pilih + Virtual Host untuk membuat host virtual atau pilih nama host virtual yang ada untuk mengeditnya.
  5. Lihat tabel di atas untuk informasi mendetail tentang mengisi kolom host virtual.

Menentukan host virtual untuk TLS satu arah

Objek XML yang menentukan host virtual. Misalnya, objek XML berikut menentukan host virtual untuk TLS satu arah:

<VirtualHost name="myTLSVHost"> 
    <HostAliases> 
        <HostAlias>api.myCompany.com</HostAlias> 
    </HostAliases> 
    <Port>443</Port> 
    <SSLInfo> 
        <Enabled>true</Enabled> 
        <ClientAuthEnabled>false</ClientAuthEnabled> 
        <KeyStore>ref://myTestKeystoreRef</KeyStore> 
        <KeyAlias>myKeyAlias</KeyAlias> 
    </SSLInfo>
</VirtualHost>

Dalam definisi ini Anda:

  • Tentukan name sebagai myTLSVHost. Gunakan nama tersebut untuk mereferensikan host virtual dalam proxy API atau dalam panggilan API.
  • Tentukan alias host sebagai api.myCompany.com. Ini adalah domain yang ditampilkan kepada publik yang digunakan untuk mengakses API Anda seperti yang ditetapkan oleh definisi DNS dan data CNAME.
  • Tentukan nomor port sebagai 443. Jika dihilangkan, secara default port akan ditetapkan ke 443.
  • Aktifkan TLS sesuai kebutuhan.

    Elemen <Enable> disetel ke benar (true) untuk mengaktifkan TLS satu arah, dan elemen <KeyStore> menentukan keystore dan alias kunci yang digunakan oleh koneksi TLS.

    Untuk mengaktifkan TLS dua arah, tetapkan <ClientAuthEnabled> ke benar (true), lalu tentukan truststore menggunakan elemen <TrustStore>. Truststore memegang penerbit sertifikat klien dan rantai CA sertifikat, yang diperlukan.

    Catatan: Karena Edge awalnya mendukung SSL, tag yang Anda gunakan untuk mengonfigurasi TLS diberi nama <SSLInfo>.

Perhatikan bahwa ada properti tambahan yang dapat Anda tetapkan di host virtual. Untuk referensi semua properti, lihat Referensi properti host virtual.

Menentukan cara menentukan nama keystore dan truststore di host virtual

Saat mengonfigurasi host virtual untuk mendukung TLS, tentukan keystore menggunakan referensi. Referensi adalah variabel yang berisi nama keystore atau truststore, bukan menentukan nama keystore atau truststore secara langsung, seperti ditunjukkan di bawah ini:

    <SSLInfo> 
        <Enabled>true</Enabled> 
        <ClientAuthEnabled>false</ClientAuthEnabled> 
        <KeyStore>ref://myTestKeystoreRef</KeyStore> 
        <KeyAlias>myKeyAlias</KeyAlias> 
    </SSLInfo>

Keuntungan menggunakan referensi adalah Anda dapat mengubah nilai referensi untuk mengubah keystore yang digunakan oleh host virtual, biasanya karena masa berlaku sertifikat dalam keystore saat ini akan berakhir dalam waktu dekat. Mengubah nilai referensi tidak mengharuskan Anda memulai ulang Router Edge. Lihat Menggunakan referensi untuk mengetahui informasi selengkapnya tentang cara membuat dan mengubah referensi.

Anda hanya dapat menggunakan referensi untuk keystore dan truststore; Anda tidak dapat menggunakan referensi ke alias. Saat Anda mengubah referensi ke keystore, pastikan bahwa nama alias sertifikat sama dengan yang ada di keystore lama.

Pembatasan dalam penggunaan referensi untuk keystore dan truststore

Anda harus mempertimbangkan batasan berikut saat menggunakan referensi ke keystore dan truststore:

  • Anda hanya dapat menggunakan referensi keystore dan truststore di host virtual jika Anda mendukung SNI dan menghentikan SSL di Router Apigee.
  • Jika Anda memiliki load balancer di depan Router Apigee, dan menghentikan TLS pada load balancer, Anda tidak dapat menggunakan referensi keystore dan truststore di host virtual.

Menentukan host virtual untuk TLS dua arah

Untuk mengaktifkan TLS dua arah, tetapkan elemen <ClientAuthEnabled> ke true, dan tentukan truststore menggunakan referensi dengan elemen <TrustStore>. Truststore memegang penerbit sertifikat klien dan rantai CA sertifikat, yang diperlukan. Klien juga harus dikonfigurasi dengan benar untuk TLS dua arah.

Untuk membuat host virtual bagi TLS dua arah, buat objek XML yang menentukan host virtual:

<VirtualHost name="myTLSVHost"> 
    <HostAliases> 
        <HostAlias>api.myCompany.com</HostAlias> 
    </HostAliases> 
    <Port>443</Port> 
    <SSLInfo> 
        <Enabled>true</Enabled> 
        <ClientAuthEnabled>true</ClientAuthEnabled> 
        <KeyStore>ref://myTestKeystoreRef</KeyStore> 
        <KeyAlias>myKeyAlias</KeyAlias> 
        <TrustStore>ref://myTestTruststoreRef</TrustStore> 
    </SSLInfo>
</VirtualHost>

Dalam definisi ini Anda:

  • Aktifkan TLS dua arah dengan menetapkan <ClientAuthEnabled> ke benar (true).
  • Tentukan referensi ke truststore menggunakan elemen <TrustStore>. Truststore memegang penerbit sertifikat klien dan rantai CA sertifikat, yang diperlukan.

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

Jika 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> host virtual juga harus dalam format *.apigee.net.

Jika melakukan TLS dua arah, Anda tetap harus menetapkan elemen <ClientAuthEnabled> ke true, dan menentukan truststore menggunakan referensi dengan elemen <TrustStore> seperti yang dijelaskan di atas dalam Menentukan host virtual untuk TLS dua arah.

Objek XML yang menentukan host virtual menggunakan kunci dan sertifikat uji coba gratis Apigee menghilangkan elemen <KeyStore> dan <KeyAlias>, serta menggantinya dengan elemen <UseBuiltInFreeTrialCert>, seperti yang ditampilkan di bawah ini:

<VirtualHost name="myTLSVHost">
    <HostAliases>
        <HostAlias>myapi.apigee.net</HostAlias>
    </HostAliases>
    <Port>443</Port>
    <SSLInfo>
        <Enabled>true</Enabled>
        <ClientAuthEnabled>false</ClientAuthEnabled>
    </SSLInfo>
    <UseBuiltInFreeTrialCert>true</UseBuiltInFreeTrialCert>
</VirtualHost>

Nilai default elemen <UseBuiltInFreeTrialCert> adalah salah.

Untuk TLS dua arah, tentukan host virtual sebagai:

<VirtualHost name="myTLSVHost">
    <HostAliases>
        <HostAlias>myapi.apigee.net</HostAlias>
    </HostAliases>
    <Port>443</Port>
    <SSLInfo>
        <Enabled>true</Enabled>
        <ClientAuthEnabled>true</ClientAuthEnabled>
        <TrustStore>ref://myTestTruststoreRef</TrustStore>
    </SSLInfo>
    <UseBuiltInFreeTrialCert>true</UseBuiltInFreeTrialCert>
</VirtualHost>

Di UI Edge, pilih opsi Use built-in free trial certificate saat membuat host virtual untuk menggunakan sertifikat dan kunci Apigee gratis:

Pilih Gunakan sertifikat uji coba gratis bawaan

Membuat host virtual

Gunakan prosedur berikut untuk membuat host virtual:

  1. Buat entri DNS dan data CNAME untuk domain yang ditampilkan ke publik, api.myCompany.com untuk contoh ini, yang mengarah ke [org]-[environment].apigee.net.
  2. Buat dan konfigurasi keystore, yang bernama myTestKeystore dalam contoh ini, dengan menggunakan prosedur yang dijelaskan di sini: Membuat keystore dan truststore menggunakan UI Edge. Untuk contoh ini, pastikan keystore menggunakan nama alias myKeyAlias untuk sertifikat dan kunci pribadi.
  3. Upload sertifikat dan kunci Anda ke keystore. Pastikan nama domain yang ditentukan oleh sertifikat Anda cocok dengan alias host yang ingin Anda gunakan untuk host virtual.
  4. Buat referensi ke keystore dengan menggunakan UI atau API Edge. Referensi tersebut menetapkan nama keystore dan jenis referensi sebagai KeyStore. Lihat Menggunakan referensi untuk mengetahui informasi selengkapnya tentang cara membuat dan mengubah referensi.

  5. Buat host virtual dengan menggunakan Create a Virtual Host API. Pastikan untuk menetapkan referensi keystore dan alias kunci yang benar. Untuk menggunakan API, gunakan panggilan POST API berikut untuk membuat keystore bernama myTLSVHost:
    curl -X POST -H "Content-Type:application/xml" \
      https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/virtualhosts \
      -d '<VirtualHost name="myTLSVHost">
        <HostAliases>
          <HostAlias>api.myCompany.com</HostAlias>
        </HostAliases>
        <Port>443</Port>
        <SSLInfo>
          <Enabled>true</Enabled>
          <ClientAuthEnabled>false</ClientAuthEnabled>
          <KeyStore>ref://myTestKeystoreRef</KeyStore>
          <KeyAlias>myKeyAlias</KeyAlias>
        </SSLInfo>
      </VirtualHost>' \
      -u orgAdminEmail:password

    Jika Anda melakukan TLS dua arah dengan klien, tetapkan <ClientAuthEnabled> ke true dan tentukan truststore menggunakan elemen <TrustStore>. Klien harus dikonfigurasi dengan benar untuk TLS dua arah, yang berarti Edge memiliki truststore yang berisi penerbit sertifikat dan rantai sertifikat klien. Buat truststore menggunakan prosedur yang dijelaskan di sini: Membuat keystore dan truststore menggunakan UI Edge.

  6. Jika Anda sudah memiliki proxy API, tambahkan host virtual ke elemen <HTTPConnection> di ProxyEndpoint. Host virtual ditambahkan secara otomatis ke semua proxy API baru. Lihat Mengonfigurasi proxy API untuk menggunakan host virtual.

Setelah mengupdate proxy API untuk menggunakan host virtual, serta membuat entri DNS dan data CNAME untuk alias host, Anda dapat mengakses proxy API seperti yang ditunjukkan di bawah ini:

https://api.myCompany.com/v1/{project-base-path}/{resource-path}

Contoh:

https://api.myCompany.com/v1/weather/forecastrss?w=12797282

Memodifikasi {i>host<i} virtual

Ada dua tugas utama yang dilakukan pelanggan Cloud berbayar untuk memodifikasi host virtual yang ada:

  1. Memodifikasi nilai referensi ke keystore atau truststore.

    Catatan: Setelah menetapkan <KeyStore> atau <TrustStore> untuk menggunakan referensi, Anda dapat mengubah nilai referensi kapan saja. Namun, jika Anda ingin mengubah <KeyStore> atau <TrustStore> untuk menggunakan referensi lain, atau mengubah <KeyAlias> untuk menggunakan alias yang berbeda, Anda harus menghubungi Dukungan Apigee Edge.
  2. Memodifikasi properti TLS dari host virtual.

Memodifikasi nilai referensi

Anda dapat mengubah nilai referensi untuk mengubah keystore atau truststore yang digunakan oleh host virtual.

Sebelum mengubah nilai referensi:

  1. Buat keystore baru lalu upload sertifikat dan kunci seperti yang dijelaskan dalam Membuat keystore dan truststore menggunakan UI Edge. Di keystore baru, pastikan Anda menggunakan nama yang sama untuk alias kunci seperti yang digunakan di penyimpanan kunci yang sudah ada.
  2. Jika perlu, buat truststore baru dan upload sertifikat seperti yang dijelaskan dalam Membuat keystore dan truststore menggunakan UI Edge.
  3. Ubah referensi seperti yang dijelaskan dalam Bekerja dengan referensi.

Mengubah properti TLS host virtual

Pelanggan berbayar dapat menggunakan Update a Virtual Host API untuk mengupdate host virtual. API ini memungkinkan Anda menetapkan semua properti untuk host virtual yang dijelaskan dalam Referensi properti host virtual.

Saat Anda memodifikasi host virtual, Edge akan melakukan validasi yang mirip dengan saat Anda membuat host virtual. Artinya, pada modifikasi, Edge memvalidasi bahwa:

  • Domain seperti yang ditentukan oleh alias host tidak digunakan di organisasi dan lingkungan lain.
  • Anda adalah pemilik nama domain tersebut. Secara khusus, Edge akan memeriksa apakah informasi berikut dalam sertifikat cocok dengan alias host:
    • CN - Nama Umum
    • SAN - Nama Alternatif Subjek
    • Edge memvalidasi bahwa masa berlaku sertifikat belum berakhir.

Untuk memodifikasi host virtual dengan menggunakan Edge API, lakukan hal berikut:

  1. Update host virtual dengan menggunakan Update a Virtual Host API. Saat menggunakan API, Anda harus menentukan definisi lengkap host virtual dalam isi permintaan, bukan hanya elemen yang ingin diubah. Dalam contoh ini, Anda menetapkan nilai properti proxy_read_timeout:

    curl -X PUT -H "Content-Type:application/xml" \
      https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/virtualhosts/{vhost_name} \
      -d '<VirtualHost name="myTLSVHost">
        <HostAliases>
          <HostAlias>api.myCompany.com</HostAlias>
        </HostAliases>
        <Port>443</Port>
        <SSLInfo>
          <Enabled>true</Enabled>
          <ClientAuthEnabled>false</ClientAuthEnabled>
          <KeyStore>ref://myTestKeystoreRef</KeyStore>
          <KeyAlias>myKeyAlias</KeyAlias>
        </SSLInfo>
        <Properties>
           <Property name="proxy_read_timeout">50</Property>
             </Properties>
      </VirtualHost>' \
      -u orgAdminEmail:password

Memodifikasi host virtual untuk menggunakan referensi ke keystore dan truststore

Semua host virtual baru untuk Edge di Cloud menggunakan referensi ke keystore dan truststore. Referensi memungkinkan Anda mengubah keystore dan truststore tanpa menghubungi Dukungan Apigee Edge.

Host virtual lama di Apigee Edge mungkin tidak dikonfigurasi untuk menggunakan referensi untuk keystore dan truststore. Dalam hal ini, Anda dapat mengupdate host virtual untuk menggunakan referensi.

Mengupdate host virtual untuk menggunakan referensi

Gunakan prosedur berikut untuk mengupdate host virtual:

  1. Jika diperlukan, buat keystore baru dan upload sertifikat seperti yang dijelaskan dalam Membuat keystore dan truststore menggunakan UI Edge. Jika sudah memiliki keystore, Anda dapat mengonfigurasi referensi untuk mengarah ke keystore.
  2. Buat referensi baru untuk keystore.
  3. Jika diperlukan, buat truststore baru dan upload sertifikat. Jika sudah memiliki truststore, Anda dapat mengonfigurasi referensi untuk mengarah ke truststore.
  4. Membuat referensi baru ke truststore.
  5. Perbarui host virtual untuk menetapkan keystore, alias, truststore, dan properti TLS lainnya. Payload untuk panggilan tersebut adalah:
    curl -X PUT -H "Content-Type:application/xml" \
      https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/virtualhosts/{vhost_name} \
      -d '<VirtualHost  name="myTLSVHost">
            <HostAliases>
              <HostAlias>api.myCompany.com</HostAlias>
            </HostAliases>
            <Port>443</Port>
            <OCSPStapling>off</OCSPStapling>
            <SSLInfo>
              <Enabled>true</Enabled>
              <ClientAuthEnabled>true</ClientAuthEnabled>
              <KeyStore>ref://myKeyStore2Way</KeyStore>
              <KeyAlias>keyAlias</KeyAlias>
              <TrustStore>ref://myTrustStore2Way</TrustStore>
              <IgnoreValidationErrors>false</IgnoreValidationErrors>
            </SSLInfo>
          </VirtualHost>' \
        -u orgAdminEmail:pWord
  6. Hubungi Dukungan Apigee untuk memulai ulang Router Edge guna menyelesaikan prosesnya.