Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure Container Apps memungkinkan Anda mengekspos aplikasi kontainer ke web publik, jaringan virtual (VNET), dan aplikasi kontainer lainnya dalam lingkungan Anda dengan mengaktifkan ingress. Pengaturan Ingress diberlakukan melalui sekumpulan aturan yang mengontrol pengarahan lalu lintas eksternal dan internal ke aplikasi kontainer Anda. Saat mengaktifkan ingress, Anda tidak perlu membuat Azure Load Balancer, alamat IP publik, atau sumber daya Azure lainnya untuk mengaktifkan permintaan HTTP masuk atau lalu lintas TCP (Protokol Kontrol Transmisi).
Ingress mendukung:
- Akses eksternal dan internal
- Jenis ingress HTTP dan TCP
- Nama domain
- Pembatasan IP
- Autentikasi
- Pemecahan trafik antara revisi
- Afinitas sesi
Contoh konfigurasi ingress yang menunjukkan pemisahan ingress antara dua revisi.
Untuk detail konfigurasi, lihat Mengonfigurasi ingress.
ingress eksternal dan internal
Saat mengaktifkan ingress, Anda dapat memilih antara dua jenis ingress:
- Eksternal: Menerima lalu lintas dari internet publik dan lingkungan internal aplikasi kontainer Anda.
- Internal: Hanya memungkinkan akses internal dari dalam lingkungan aplikasi kontainer Anda.
Setiap aplikasi kontainer dalam lingkungan dapat dikonfigurasi dengan pengaturan ingress yang berbeda. Misalnya, dalam skenario dengan beberapa aplikasi layanan mikro, untuk meningkatkan keamanan, Anda mungkin memiliki satu aplikasi kontainer yang menerima permintaan publik dan meneruskan permintaan ke layanan latar belakang. Dalam skenario ini, Anda akan mengonfigurasi aplikasi kontainer yang menghadap publik menggunakan ingress eksternal, sementara aplikasi kontainer yang menghadap internal dengan ingress internal.
Jenis protokol
Container Apps mendukung dua protokol untuk masuk: HTTP dan TCP.
HTTP
Dengan ingress HTTP diaktifkan, aplikasi kontainer Anda memiliki:
- Dukungan untuk penghentian TLS (Keamanan Lapisan Transportasi)
- Dukungan untuk HTTP/1.1 dan HTTP/2
- Dukungan untuk WebSocket dan gRPC
- Titik akhir HTTPS yang selalu menggunakan TLS 1.2 atau 1.3, dihentikan pada titik masuk
- Titik akhir yang mengekspos port 80 (untuk HTTP) dan 443 (untuk HTTPS)
- Secara default, permintaan HTTP ke port 80 secara otomatis dialihkan ke HTTPS pada 443
- Nama domain yang sepenuhnya memenuhi syarat (FQDN)
- Waktu permintaan habis adalah 240 detik
Penanda HTTP
Ingress HTTP menambahkan header untuk meneruskan metadata tentang permintaan klien ke aplikasi kontainer Anda. Misalnya, X-Forwarded-Proto
header digunakan untuk mengidentifikasi protokol yang digunakan klien untuk terhubung dengan layanan Container Apps. Tabel berikut mencantumkan header HTTP yang relevan dengan ingress di Container Apps:
Kepala Halaman | Deskripsi | Nilai |
---|---|---|
X-Forwarded-Proto |
Protokol yang digunakan oleh klien untuk terhubung dengan layanan Container Apps. |
http atau https |
X-Forwarded-For |
Alamat IP klien yang mengirim permintaan. | Alamat IP pengirim. Jika ditentukan dalam permintaan awal, permintaan akan ditimpa. |
X-Forwarded-Host |
Nama host yang digunakan klien untuk terhubung dengan layanan Container Apps. | |
X-Forwarded-Client-Cert |
Sertifikat klien jika clientCertificateMode ditetapkan. |
Daftar Hash, Cert, dan Chain yang dipisahkan titik koma. Misalnya: Hash=....;Cert="...";Chain="..."; |
PKT
Container Apps mendukung protokol berbasis TCP selain HTTP atau HTTPS. Misalnya, Anda dapat menggunakan ingress TCP untuk mengekspos aplikasi kontainer yang menggunakan protokol Redis.
Nota
Ingress TCP eksternal hanya didukung untuk lingkungan Container Apps yang menggunakan jaringan virtual.
Dengan TCP ingress diaktifkan, aplikasi kontainer Anda:
- Dapat diakses oleh aplikasi kontainer lain di lingkungan yang sama melalui namanya (ditentukan oleh
name
properti di sumber daya Container Apps) dan nomor port yang diekspos. - Dapat diakses dari luar melalui nama domain lengkap (FQDN) dan nomor port yang terbuka jika ingress diatur ke
external
.
Port TCP tambahan
Selain port HTTP/TCP utama untuk aplikasi kontainer, Anda mungkin mengekspos port TCP tambahan untuk mengaktifkan aplikasi yang menerima koneksi TCP pada beberapa port.
Nota
Untuk menggunakan fitur ini, Anda harus memiliki ekstensi CLI aplikasi kontainer. Jalankan az extension add -n containerapp
untuk menginstal versi terbaru ekstensi CLI aplikasi kontainer.
Berikut ini berlaku untuk port TCP tambahan:
Lebih banyak port TCP hanya dapat berada di luar jika aplikasi itu sendiri diatur sebagai eksternal dan aplikasi kontainer menggunakan jaringan virtual.
Setiap port TCP tambahan yang diekspos secara eksternal harus unik di seluruh lingkungan Container Apps. Ini termasuk semua port TCP tambahan eksternal, port TCP utama eksternal, dan port 80/443 yang digunakan oleh ingress HTTP bawaan. Jika port tambahan bersifat internal, Anda dapat berbagi port yang sama di beberapa aplikasi.
Jika port yang diekspos tidak disediakan, maka secara default port tersebut akan cocok dengan port target.
Setiap port target harus unik, dan port target yang sama tidak dapat diekspos pada port yang diekspos yang berbeda.
Ada maksimal lima port tambahan per aplikasi. Jika port tambahan diperlukan, buka permintaan dukungan.
Hanya port ingress utama yang mendukung fitur HTTP bawaan seperti CORS dan afinitas sesi. Saat menjalankan HTTP di atas port TCP tambahan, fitur bawaan ini tidak didukung.
Nomor port
36985
dicadangkan untuk pemeriksaan kesehatan internal dan tidak tersedia untuk aplikasi TCP atau port tambahan yang terekspos pada aplikasi HTTP.
Untuk informasi selengkapnya tentang cara mengaktifkan port tambahan, lihat Mengonfigurasi ingress untuk aplikasi Anda.
Nama domain
Anda dapat mengakses aplikasi dengan cara berikut:
Nama domain default yang sepenuhnya memenuhi syarat (FQDN): Setiap aplikasi di lingkungan Container Apps secara otomatis diberi FQDN berdasarkan akhiran DNS (Sistem Nama Domain) lingkungan. Akhiran ini ditentukan oleh
CONTAINER_APP_ENV_DNS_SUFFIX
variabel lingkungan. Untuk mengkustomisasi akhiran DNS lingkungan, lihat Akhiran DNS lingkungan kustom.Nama domain kustom: Anda dapat mengonfigurasi domain DNS kustom untuk lingkungan Container Apps Anda. Untuk informasi selengkapnya, lihat Nama domain kustom dan sertifikat.
Nama aplikasi: Anda dapat menggunakan nama aplikasi untuk komunikasi antar aplikasi di lingkungan yang sama.
Untuk mendapatkan FQDN untuk aplikasi Anda, lihat Lokasi.
Batasan IP
Container Apps mendukung pembatasan IP untuk ingress. Anda dapat membuat aturan untuk mengonfigurasi alamat IP yang diizinkan atau ditolak akses ke aplikasi kontainer Anda. Untuk informasi selengkapnya, lihat Mengonfigurasi pembatasan IP.
Otentikasi
Azure Container Apps menyediakan fitur autentikasi dan otorisasi bawaan untuk mengamankan aplikasi kontainer eksternal yang mendukung ingress Anda. Untuk informasi selengkapnya, lihat Autentikasi dan otorisasi di Azure Container Apps.
Anda dapat mengonfigurasi aplikasi untuk mendukung sertifikat klien (mTLS) untuk autentikasi dan enkripsi lalu lintas. Untuk informasi selengkapnya, lihat Mengonfigurasi sertifikat klien.
Untuk detail tentang cara menggunakan enkripsi jaringan tingkat lingkungan peer-to-peer, lihat konfigurasi jaringan.
Pemisahan lalu lintas
Containers Apps memungkinkan Anda membagi lalu lintas masuk antara revisi aktif. Saat Anda menentukan aturan pemisahan, Anda menetapkan persentase lalu lintas masuk untuk masuk ke revisi yang berbeda. Untuk informasi selengkapnya, lihat Pemisahan lalu lintas.
Afinitas sesi
Penyelarasan sesi, yang juga dikenal sebagai sesi tetap, adalah fitur yang dapat memungkinkan Anda untuk merutekan semua permintaan HTTP dari pengguna ke replika aplikasi kontainer yang sama. Fitur ini berguna untuk aplikasi stateful yang memerlukan koneksi yang konsisten ke replika yang sama. Untuk informasi selengkapnya, lihat Afinitas Sesi.
Berbagi Sumber Daya Lintas Asal (CORS)
Secara default, setiap permintaan yang dibuat melalui browser dari halaman ke domain yang tidak cocok dengan domain asal halaman diblokir. Untuk menghindari pembatasan ini untuk layanan yang disebarkan ke Container Apps, Anda dapat mengaktifkan berbagi sumber daya lintas asal (CORS).
Untuk informasi selengkapnya, lihat Mengonfigurasi CORS di Azure Container Apps.