Menyiapkan host virtual

Edge untuk Private Cloud v. 4.17.01

Host virtual di Edge menentukan domain dan port Router Edge tempat proxy API diekspos, dan dengan demikian, URL yang digunakan aplikasi untuk mengakses proxy API. Host virtual juga menentukan apakah proxy API diakses menggunakan protokol HTTP, atau protokol HTTPS terenkripsi.

Sebagai bagian dari proses orientasi Edge, Anda harus membuat organisasi, lingkungan, dan host virtual. Edge menyediakan perintah setup-org untuk mempermudah proses ini bagi pengguna baru.

Saat membuat host virtual, Anda harus menentukan informasi berikut:

  • Nama host virtual yang Anda gunakan untuk mereferensikannya dalam proxy API.
  • Port pada Router untuk host virtual. Biasanya port ini dimulai dari 9001 dan bertambah satu untuk setiap host virtual baru.
  • Alias host dari host virtual. Biasanya nama DNS dari host virtual.

Router Edge membandingkan header Host permintaan masuk dengan daftar alias host yang tersedia sebagai bagian dari penentuan proxy API yang menangani permintaan. Saat membuat permintaan melalui host virtual, tentukan nama domain yang cocok dengan alias host dari host virtual, atau tentukan alamat IP Router dan header Host yang berisi alias host.

Misalnya, jika Anda membuat host virtual dengan alias host myapis.apigee.net di port 9001, permintaan cURL ke API melalui host virtual tersebut dapat menggunakan salah satu bentuk berikut:

  • Jika Anda memiliki entri DNS untuk myapis.apigee.net:

    curl http://myapis.apigee.net:9001/{proxy-base-path}/{resource-path}
  • Jika Anda tidak memiliki entri DNS untuk myapis.apigee.net:

    curl http://<routerIP>:9001/{proxy-base-path}/{resource-path} -H 'Host: myapis.apigee.net'

    Dalam formulir ini, tentukan alamat IP di Router dan teruskan alias host.

    Catatan: Perintah curl, sebagian besar browser, dan banyak utilitas lainnya secara otomatis menambahkan header Host dengan domain sebagai bagian dari permintaan, sehingga Anda benar-benar dapat menggunakan perintah curl dalam format:


    curl http://<routerIP>:9001/{proxy-base-path}/{resource-path}

Opsi saat Anda tidak memiliki entri DNS untuk host virtual

Salah satu opsi jika Anda tidak memiliki entri DNS adalah menetapkan alias host ke alamat IP Router dan port host virtual, sebagai <routerIP>:port. Contoh:

192.168.1.31:9001

Lalu, buat perintah curl dalam bentuk di bawah ini:

curl http://<routerIP>:9001/{proxy-base-path}/{resource-path} 

Opsi ini lebih disukai karena berfungsi baik dengan UI Edge.

Jika Anda memiliki beberapa Router, tambahkan alias host untuk setiap Router, dengan menentukan alamat IP setiap Router dan port host virtual.

Atau, Anda dapat menetapkan alias host ke suatu nilai, seperti temp.hostalias.com. Kemudian, Anda harus meneruskan header Host pada setiap permintaan:

curl -v http://<routerIP>:9001/{proxy-base-path}/{resource-path}  -H 'host: temp.hostalias.com'

Atau, tambahkan alias host ke file /etc/hosts. Misalnya, tambahkan baris ini ke /etc/hosts:

192.168.1.31   temp.hostalias.com

Kemudian, Anda dapat membuat permintaan seolah-olah Anda memiliki entri DNS:

curl -v http://myapis.apigee.net:9001/{proxy-base-path}/{resource-path}

Menggunakan porta yang dilindungi dalam host virtual

Jika ingin membuat host virtual yang mengikat Router ke port yang dilindungi, seperti nomor port kurang dari 1024, Anda harus mengonfigurasi Router agar dijalankan sebagai pengguna yang memiliki akses ke port tersebut. Secara default, Router berjalan sebagai pengguna "apigee" yang tidak memiliki akses ke port dengan hak istimewa.

Untuk menjalankan Router sebagai pengguna yang berbeda:

  1. Sebagai root, buat file /opt/apigee/etc/edge-router.d/RUN_USER.sh.
  2. Tambahkan entri berikut ke file:
    RUN_USER=root
    Jika tidak ingin menjalankan Router sebagai root, tentukan pengguna yang memiliki akses ke port.
  3. Simpan file.
  4. Jika Anda menentukan pengguna selain root, ubah pemilik file menjadi pengguna tersebut:
    > chown USER:USER /opt/apigee/etc/edge-router.d/RUN_USER.sh
  5. Mulai ulang router:
    > /opt/apigee/apigee-service/bin/apigee-service edge-router restart