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 perubahan host virtual hanya tersedia untuk akun berbayar di Edge Cloud. Pengguna yang membuat host virtual harus memiliki peran administrator organisasi, atau dalam 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
  • Menentukan keystore/truststore yang digunakan oleh host virtual

Akun gratis dan uji coba tidak dapat membuat atau mengubah host virtual dan dibatasi 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 untuk mengonfigurasi host virtual untuk Cloud

Tabel berikut meringkas 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 kustom 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 Menyertakan 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 selama host 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 kunci dan sertifikat 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 lainnya.
Nama domain Milik 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 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 habis.

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, misalnya 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 di proxy API atau dalam panggilan API.
  • Tentukan alias host sebagai api.perusahaansaya.com. Ini adalah domain yang ditampilkan secara publik yang digunakan untuk mengakses API Anda seperti yang ditentukan oleh definisi DNS dan data CNAME.
  • Tentukan nomor port sebagai 443. Jika dihilangkan, secara default port ditetapkan ke 443.
  • Aktifkan TLS sesuai kebutuhan.

    Elemen <Enable> disetel ke 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 true, dan tentukan truststore menggunakan elemen <TrustStore>. Truststore menyimpan 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 keystore dan nama 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 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 masa berlaku sertifikat di keystore saat ini akan segera berakhir. Mengubah nilai referensi tidak mengharuskan Anda memulai ulang Edge Router. Lihat Menggunakan referensi untuk mengetahui informasi selengkapnya tentang 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 yang ada di keystore lama.

Pembatasan dalam menggunakan referensi ke keystore dan truststore

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

  • Anda hanya dapat menggunakan referensi keystore dan truststore di host virtual jika 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 menyimpan penerbit sertifikat klien dan rantai CA sertifikat, yang diperlukan. Klien juga harus dikonfigurasi dengan benar untuk TLS dua arah.

Agar dapat 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 menyimpan 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 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> dari host virtual juga harus dalam bentuk *.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 akan menghapus elemen <KeyStore> dan <KeyAlias>, dan 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 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 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 ditampilkan secara publik, api.myCompany.com untuk contoh ini, yang mengarah ke [org]-[environment].apigee.net.
  2. Buat dan konfigurasikan 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 menentukan nama keystore dan jenis referensi sebagai KeyStore. Lihat Menggunakan referensi untuk mengetahui informasi selengkapnya tentang cara membuat dan mengubah referensi.

  5. Buat host virtual menggunakan API Buat Virtual Host. Pastikan untuk menentukan 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 dengan 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, dan membuat entri DNS dan 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 Anda menetapkan <KeyStore> atau <TrustStore> untuk menggunakan referensi, Anda dapat mengubah nilai referensi kapan saja. Namun, jika 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 keystore 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 Menggunakan referensi.

Mengubah properti TLS host virtual

Pelanggan berbayar dapat menggunakan API Update 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 akan melakukan validasi yang mirip dengan saat Anda membuat host virtual. Artinya, saat memodifikasi, 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 berakhir.

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

  1. Perbarui host virtual menggunakan Update 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

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 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 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 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 menetapkan 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 Router Edge guna menyelesaikan proses ini.