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.

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 memiliki peran kustom 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
  • Tentukan keystore/truststore yang digunakan oleh host virtual

Akun gratis dan uji coba tidak dapat membuat atau mengubah host virtual dan dibatasi untuk host virtual yang dibuat untuk akun tersebut pada saat pendaftaran Edge. Untuk mengetahui informasi selengkapnya tentang paket harga Edge, lihat https://apigee.com/api-management/#/pricing.

Persyaratan untuk 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 mengubah host virtual.
Peran pengguna admin organisasi Hanya admin organisasi yang dapat membuat host virtual, atau pengguna dalam peran khusus yang memiliki izin untuk mengubah host virtual.
Jumlah host virtual Maksimal 20

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 akses 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 maupun dengan API, Anda harus menentukan protokol (yaitu, "http://" atau "https://") sebagai bagian dari URL.
Port 443

Anda hanya dapat membuat host virtual di port 443.

Perhatikan bahwa Anda dapat membuat beberapa host virtual di port 443 asalkan mereka memiliki alias host yang 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 in the Cloud hanya mendukung TLS versi 1.2.

Alias host Unik di organisasi dan lingkungan Alias host tidak ada untuk kombinasi organisasi/lingkungan lain.
Nama domain Dimiliki oleh pelanggan

Anda harus memiliki nama domain yang ditentukan di host virtual. Edge memeriksa untuk memastikan bahwa nama domain, seperti yang ditentukan oleh alias host, cocok dengan metadata di sertifikat TLS.

Secara khusus, Edge memeriksa informasi berikut dalam sertifikat:

  • CN - Nama Umum
  • SAN - Nama Alternatif Subjek

Karakter pengganti diizinkan dalam 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 mengubah host virtual, tetapi Anda dapat membuat host virtual di UI Edge.

Untuk membuat host virtual menggunakan UI Edge:

  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 mengetahui informasi mendetail tentang cara 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 untuk mereferensikan host virtual dalam proxy API atau dalam panggilan API.
  • Tentukan alias host sebagai api.myCompany.com. Ini adalah domain yang menghadap publik yang digunakan untuk mengakses API Anda sebagaimana ditentukan oleh definisi DNS dan data CNAME.
  • Tentukan nomor port sebagai 443. Jika tidak ditentukan, secara default port diatur ke 443.
  • Aktifkan TLS sesuai kebutuhan.

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

    Untuk mengaktifkan TLS dua arah, setel <ClientAuthEnabled> ke benar (true), dan tentukan truststore menggunakan elemen <TrustStore>. Truststore berisi 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.

Memutuskan cara menentukan nama keystore dan truststore di host virtual

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

    <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 sertifikat di keystore saat ini akan segera berakhir. Mengubah nilai referensi tidak mengharuskan Anda memulai ulang Edge Router. Lihat Bekerja dengan referensi untuk mengetahui lebih lanjut cara membuat dan mengubah referensi.

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

Batasan dalam menggunakan referensi ke 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 Anda menghentikan TLS di 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 dengan menggunakan referensi dengan elemen <TrustStore>. Truststore berisi penerbit sertifikat klien dan rantai CA sertifikat, yang diperlukan. Klien juga harus dikonfigurasi dengan benar untuk TLS dua arah.

Untuk membuat host virtual untuk 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 menyetel <ClientAuthEnabled> ke benar (true).
  • Tentukan referensi ke truststore menggunakan elemen <TrustStore>. Truststore berisi penerbit sertifikat klien dan rantai CA sertifikat, yang diperlukan.

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

Jika Anda 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.

Jika melakukan TLS dua arah, Anda tetap harus menyetel 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 sertifikat dan kunci uji coba gratis Apigee menghilangkan elemen <KeyStore> dan <KeyAlias>, serta menggantinya dengan elemen <UseBuiltInFreeTrialCert>, seperti yang ditunjukkan 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 false.

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 Gunakan sertifikat uji coba gratis bawaan 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 menghadap publik, api.myCompany.com untuk contoh ini, yang mengarah ke [org]-[environment].apigee.net.
  2. Buat dan konfigurasi keystore, yang diberi nama 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 menggunakan Edge UI atau API. Referensi menentukan nama keystore dan jenis referensi sebagai KeyStore. Lihat Bekerja dengan referensi untuk mengetahui cara membuat dan mengubah referensi.

  5. Buat host virtual menggunakan API Buat Host Virtual. Pastikan untuk menentukan referensi keystore dan alias kunci yang benar. Untuk menggunakan API, gunakan panggilan API POST 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 benar 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 memiliki proxy API yang ada, 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, dan membuat entri DNS serta data CNAME untuk alias host, Anda dapat mengakses proxy API seperti yang ditunjukkan di bawah:

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

Contoh:

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

Mengubah host virtual

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

  1. Mengubah 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 yang berbeda, atau mengubah <KeyAlias> untuk menggunakan alias yang berbeda, Anda harus menghubungi Dukungan Apigee Edge.
  2. Mengubah properti TLS host virtual.

Mengubah nilai referensi

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

Sebelum Anda mengubah nilai referensi:

  1. Buat keystore baru dan 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 key store yang 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 API Update a Virtual Host untuk memperbarui host virtual. API ini memungkinkan Anda menetapkan semua properti untuk host virtual yang dijelaskan di Referensi properti host virtual.

Saat Anda mengubah host virtual, Edge melakukan validasi yang serupa dengan saat Anda membuat host virtual. Artinya, saat melakukan modifikasi, Edge memvalidasi bahwa:

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

Untuk mengubah host virtual menggunakan Edge API, lakukan hal berikut:

  1. Perbarui host virtual menggunakan Update a Virtual Host API. Saat menggunakan API, Anda harus menentukan definisi lengkap host virtual dalam isi permintaan, bukan hanya elemen yang ingin Anda ubah. 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

Mengubah 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 yang lebih lama di Apigee Edge mungkin tidak dikonfigurasi untuk menggunakan referensi untuk keystore dan truststore. Dalam hal ini, Anda dapat memperbarui host virtual untuk menggunakan referensi.

Memperbarui host virtual untuk menggunakan referensi

Gunakan prosedur berikut untuk memperbarui 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 tersebut.
  2. Buat referensi baru ke keystore.
  3. Jika diperlukan, buat truststore baru dan upload sertifikat. Jika sudah memiliki truststore, Anda dapat mengonfigurasi referensi untuk mengarah ke truststore tersebut.
  4. Buat referensi baru ke truststore.
  5. Perbarui host virtual untuk menyetel keystore, alias, truststore, dan properti TLS lainnya. Payload untuk panggilan 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 Edge Router guna menyelesaikan proses.