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 memodifikasi virtual yang dihosting di Cloud

Pembuatan dan modifikasi host virtual hanya tersedia untuk akun berbayar di Edge Cloud. Pengguna yang membuat host virtual harus berperan sebagai administrator organisasi, atau dalam peran khusus dengan izin untuk memodifikasi {i>host<i} virtual. Pengguna dalam peran lain tidak memiliki otorisasi untuk membuat {i>host<i} 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 dibatasi untuk host virtual dibuat untuk pengguna 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 meringkas 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 memodifikasi {i>host<i} virtual.
Jumlah host virtual Maksimum 20

Anda dibatasi hingga maksimum 20 host virtual per organisasi/lingkungan di {i>Cloud<i}.

Catatan: Tidak ada batasan jumlah host virtual dalam mode Private yang dihosting di Google Cloud.

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

URL Dasar Menyertakan protokol Saat menentukan URL dasar untuk host virtual, baik di UI maupun dengan API, Anda harus mencantumkan 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 {i> host<i} virtual di porta 443 selama mereka memiliki alias {i>host<i} unik dan semuanya mendukung TLS.

TLS Wajib

Anda hanya dapat membuat host virtual yang mendukung TLS melalui HTTPS. Anda pasti sudah membuat keystore, dan bisa juga 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 Memiliki keunikan dalam organisasi dan lingkungannya. Alias host tidak ada untuk kombinasi organisasi/lingkungan lainnya.
Nama domain Milik pelanggan

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

Secara khusus, Edge memeriksa informasi berikut di 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 {i>host<i} virtual, tetapi Anda dapat membuat {i> host<i} virtual di UI Edge.

Untuk membuat host virtual menggunakan UI Edge:

  1. Login ke apigee.com/edge.
  2. Pilih Admin > Host Virtual.
  3. Pilih lingkungan, misalnya prod atau test.
  4. Pilih + Host Virtual untuk membuat host virtual atau pilih nama salah {i>host<i} virtual yang ada untuk mengeditnya.
  5. Lihat tabel di atas untuk 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 mendefinisikan sebuah {i>host<i} 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 {i>host<i} virtual di proxy API atau dalam panggilan API.
  • Tetapkan alias host sebagai api.myCompany.com. Ini adalah domain yang ditampilkan ke publik yang digunakan untuk mengakses API Anda, seperti yang ditentukan oleh definisi DNS dan CNAME data.
  • Tentukan nomor port sebagai 443. Jika dihilangkan, secara default portanya ditetapkan ke 443.
  • Aktifkan TLS sesuai kebutuhan.

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

    Untuk mengaktifkan TLS dua arah, setel <ClientAuthEnabled> ke benar (true), dan menentukan 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>.

Perlu diperhatikan bahwa ada properti tambahan yang dapat Anda setel di host virtual. Untuk untuk semua properti, lihat Referensi properti host virtual.

Menentukan cara menentukan keystore dan nama truststore di host virtual

Saat mengonfigurasi host virtual untuk mendukung TLS, Anda menentukan keystore dengan menggunakan referensi ini. Referensi adalah variabel yang berisi nama keystore atau truststore, bukan menentukan keystore atau nama 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 bahwa Anda dapat mengubah nilai referensi untuk mengubah keystore yang digunakan oleh host virtual, biasanya karena sertifikat di keystore saat ini berakhir dalam waktu dekat. Mengubah nilai referensi tidak mengharuskan Anda memulai ulang Router Edge. Lihat Bekerja dengan referensi untuk tentang cara membuat dan memodifikasi {i>reference<i}.

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 adalah sama seperti di keystore lama.

Batasan dalam penggunaan 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 Anda menghentikan SSL di Router Apigee.
  • Jika Anda memiliki load balancer di depan Router Apigee, dan menghentikan TLS pada Anda tidak dapat menggunakan keystore dan referensi truststore di host virtual.

Menentukan host virtual untuk TLS dua arah

Untuk mengaktifkan TLS dua arah, tetapkan elemen <ClientAuthEnabled> ke true, dan menentukan 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.

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

<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 Anda 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. Itu berarti Anda dapat membuat {i>host<i} 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 menyetel elemen <ClientAuthEnabled> agar true, dan tentukan 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 uji coba gratis Apigee dan kunci menghilangkan Elemen <KeyStore> dan <KeyAlias>, lalu menggantinya dengan <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, gunakan 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 Anda yang ditampilkan ke publik, api.myCompany.com untuk contoh ini, yang mengarah ke [org]-[environment].apigee.net.
  2. Buat dan konfigurasikan keystore, bernama myTestKeystore dalam contoh ini, dengan menggunakan prosedur yang diuraikan 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 bahwa nama domain yang ditentukan oleh cocok dengan alias {i>host<i} yang ingin Anda gunakan untuk {i>host<i} virtual.
  4. Buat referensi ke keystore dengan menggunakan UI atau API Edge. Referensi menentukan nama keystore dan jenis referensi sebagai KeyStore. Lihat Bekerja dengan referensi untuk tentang cara membuat dan memodifikasi {i>reference<i}.

  5. Buat host virtual dengan menggunakan perintah Create a Virtual Host API. 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 benar (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. Membuat truststore dengan menggunakan prosedur yang dijelaskan di sini: Membuat keystore dan truststore menggunakan UI Edge.

  6. Jika Anda memiliki proxy API yang sudah 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 memperbarui proxy API untuk menggunakan host virtual, dan membuat entri DNS serta CNAME untuk alias host, Anda dapat mengakses proxy API seperti yang ditampilkan di bawah ini:

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 memodifikasi host virtual yang ada:

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

Memodifikasi nilai referensi

Anda bisa memodifikasi nilai referensi untuk mengubah keystore atau truststore yang digunakan oleh model {i>host<i}.

Sebelum Anda mengubah nilai referensi:

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

Memodifikasi properti TLS host virtual

Pelanggan berbayar dapat menggunakan Mengupdate Virtual Host API untuk memperbarui host virtual. API ini memungkinkan Anda menyetel semua properti untuk {i>host<i} virtual yang dijelaskan di Referensi properti host virtual.

Saat Anda memodifikasi {i>host<i} virtual, Edge melakukan validasi yang mirip dengan saat Anda membuat {i>host<i} virtual. Artinya, saat memodifikasi, Edge memvalidasi bahwa:

  • Domain yang ditentukan oleh alias {i>host<i} tidak digunakan di organisasi lain dan lingkungan fleksibel App Engine.
  • Anda adalah pemilik nama domain. Secara khusus, Edge memeriksa apakah informasi berikut dalam cert 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. Perbarui host virtual dengan menggunakan Mengupdate Virtual Host API. Saat menggunakan API, Anda harus menentukan definisi lengkap dari {i>host<i} virtual dalam isi permintaan, bukan hanya elemen yang ingin Anda ubah. Di sini misalnya, 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 yang lebih lama di Apigee Edge mungkin tidak dikonfigurasi agar menggunakan referensi untuk keystore dan truststore. Dalam hal ini, Anda dapat memperbarui host virtual untuk menggunakan referensi.

Memperbarui {i>host<i} virtual untuk menggunakan referensi

Gunakan prosedur berikut untuk memperbarui host virtual:

  1. Jika diperlukan, buat keystore baru dan upload sertifikat seperti yang dijelaskan di Membuat keystore dan truststore menggunakan UI Edge. Jika Anda sudah memiliki keystore, lalu Anda dapat mengonfigurasi referensi agar mengarah ke sana.
  2. Buat referensi baru ke keystore.
  3. Jika diperlukan, buat truststore baru dan upload sertifikat. Jika Anda sudah memiliki truststore, maka Anda dapat mengkonfigurasi referensi untuk menunjuk ke sana.
  4. Buat referensi baru ke truststore.
  5. Perbarui host virtual untuk menyetel keystore, alias, truststore, dan setelan TLS lainnya properti baru. 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 Apigee Dukungan untuk memulai ulang Router Edge guna menyelesaikan proses.