Azure Container Apps'te uygulamanız için Girişi yapılandırma
Bu makalede kapsayıcı uygulamanız için giriş özelliklerinin nasıl etkinleştirileceği gösterilmektedir. Giriş, uygulama genelinde bir ayardır. Giriş ayarlarında yapılan değişiklikler tüm düzeltmelere aynı anda uygulanır ve yeni düzeltmeler oluşturmaz.
Giriş ayarları
Aşağıdaki giriş şablonu özelliklerini ayarlayabilirsiniz:
Özellik | Açıklama | Değerler | Zorunlu |
---|---|---|---|
allowInsecure |
Kapsayıcı uygulamanıza güvenli olmayan trafiğe izin verir. HTTP istekleri 80 numaralı bağlantı noktasına ayarlandığında true HTTPS kullanılarak bağlantı noktası 443'e otomatik olarak yeniden yönlendirilmiyor ve güvenli olmayan bağlantılara olanak tanır. |
false (varsayılan), true güvenli olmayan bağlantıları etkinleştirir |
Hayır |
clientCertificateMode |
mTLS kimlik doğrulaması için istemci sertifikası modu. Yoksay, sunucunun iletmede istemci sertifikasını bırakmasını gösterir. Accept, sunucunun istemci sertifikayı ilettiğini gösterir, ancak istemci sertifikası gerektirmez. Require, sunucunun bir istemci sertifikası gerektirdiğini gösterir. | Required , Accept , Ignore (varsayılan) |
Hayır |
customDomains |
Container Apps'in konak adları için özel etki alanı bağlamaları. Bkz. Özel etki alanları ve sertifikalar | Bağlama dizisi | Hayır |
exposedPort |
(Yalnızca TCP girişi) TCP bağlantı noktası dinler. ise external true , değerin Container Apps ortamında benzersiz olması gerekir. |
'den adresine 65535 bir 1 bağlantı noktası numarası. (veya 443 olamaz80 ) |
Hayır |
external |
Kapsayıcı Uygulamaları ortamının dışından uygulamanıza girişe izin verin. | true veya false (varsayılan) |
Yes |
ipSecurityRestrictions |
IP giriş kısıtlamaları. Bkz . IP giriş kısıtlamalarını ayarlama | Bir kural dizisi | Hayır |
stickySessions.affinity |
Oturum benzitesini etkinleştirir. | none (varsayılan), sticky |
Hayır |
targetPort |
Kapsayıcınızın gelen istekler için dinleyen bağlantı noktası. | Bu değeri kapsayıcınızın kullandığı bağlantı noktası numarasına ayarlayın. HTTP girişi için, uygulama giriş uç noktanız her zaman bağlantı noktasında 443 kullanıma sunulur. |
Yes |
traffic |
Ağırlıkları düzeltmeler arasında bölen trafik. | Bir kural dizisi | Hayır |
transport |
Aktarım protokolü türü. | auto (varsayılan), HTTP/1 veya HTTP/2, http HTTP/1 için, http2 HTTP/2 için, tcp TCP için algılar. |
Hayır |
Girişi etkinleştirme
Azure CLI, ARM şablonu veya Azure portalı kullanarak kapsayıcı uygulamanız için girişi yapılandırabilirsiniz.
Bu az containerapp ingress enable
komut kapsayıcı uygulamanız için girişi etkinleştirir. Hedef bağlantı noktasını belirtmeniz gerekir ve aktarım türünüz ise tcp
isteğe bağlı olarak kullanıma sunulan bağlantı noktasını ayarlayabilirsiniz.
az containerapp ingress enable \
--name <app-name> \
--resource-group <resource-group> \
--target-port <target-port> \
--exposed-port <tcp-exposed-port> \
--transport <transport> \
--type <external>
--allow-insecure
az containerapp ingress enable
giriş bağımsız değişkenleri:
Seçenek | Özellik | Açıklama | Değerler | Zorunlu |
---|---|---|---|---|
--type |
external | Uygulamanıza her yerden girişe izin verin veya girişi kendi iç Container Apps ortamıyla sınırlayın. | external veya internal |
Yes |
--allow-insecure |
allowInsecure | Uygulamanıza HTTP bağlantılarına izin verin. | Hayır | |
--target-port |
targetPort | Kapsayıcınızın gelen istekler için dinleyen bağlantı noktası. | Bu değeri kapsayıcınızın kullandığı bağlantı noktası numarasına ayarlayın. Uygulama giriş uç noktanız her zaman bağlantı noktasında 443 kullanıma sunulur. |
Yes |
--exposed-port |
exposedPort | (Yalnızca TCP girişi) TCP girişi için bir bağlantı noktası. ise external true , giriş dış ise değerin Container Apps ortamında benzersiz olması gerekir. |
'den adresine 65535 bir 1 bağlantı noktası numarası. (veya 443 olamaz80 ) |
Hayır |
--transport |
taşıma | Aktarım protokolü türü. | auto (varsayılan), HTTP/1 veya HTTP/2, http HTTP/1 için, http2 HTTP/2 için, tcp TCP için algılar. |
Hayır |
Portalı kullanarak kapsayıcı uygulamanız için girişi etkinleştirin.
Kapsayıcı uygulamanızı oluştururken girişi etkinleştirebilir veya mevcut bir kapsayıcı uygulaması için girişi etkinleştirebilirsiniz.
- Kapsayıcı uygulamanızı oluştururken girişi yapılandırmak için kapsayıcı uygulaması oluşturma sihirbazının Uygulama Yapılandırması sekmesinden Giriş'i seçin.
- Mevcut bir kapsayıcı uygulaması için girişi yapılandırmak için kapsayıcı uygulaması kaynak sayfasının Ayarlar menüsünden Giriş'i seçin.
Kapsayıcı uygulamanız için girişi etkinleştirme:
Azure portalını kullanarak kapsayıcı uygulamanızı oluştururken girişi yapılandırabilirsiniz.
- Girişi Etkin olarak ayarlayın.
- Kapsayıcı uygulamanız için giriş ayarlarını yapılandırın.
- İç giriş için Container Apps Ortamı ile sınırlı veya dış giriş için her yerden trafiği kabul etme'yi seçin.
- Giriş Türü: HTTP veya TCP'yi seçin (TCP girişi yalnızca özel bir sanal ağ ile yapılandırılmış ortamlarda kullanılabilir).
- Giriş Türü için HTTP seçiliyse Aktarım: Otomatik, HTTP/1 veya HTTP/2'yi seçin.
- Uygulamanıza HTTP bağlantılarına izin vermek istiyorsanız Güvenli olmayan bağlantılar'ı seçin.
- Kapsayıcı uygulamanız için Hedef bağlantı noktasını girin.
- Aktarım seçeneği için TCP'yi seçtiyseniz kapsayıcı uygulamanız için Kullanıma Sunulan bağlantı noktasını girin. Kullanıma sunulan bağlantı noktası numarası için
65535
olabilir1
. (veya443
olamaz80
)
Kapsayıcı uygulamanızın Giriş ayarları sayfası, IP Kısıtlamalarını yapılandırmanıza da olanak tanır. IP kısıtlamasını yapılandırma hakkında bilgi için bkz . IP Kısıtlamaları.
Yapılandırma özelliğini kullanarak ingress
kapsayıcı uygulamanız için girişi etkinleştirin. external
özelliğini olarak true
ayarlayın ve ve targetPort
özelliklerinizi transport
ayarlayın.
-external
özelliği dış giriş için true veya iç giriş için false olarak ayarlanabilir.
transport
auto
http/1 veya HTTP/2, HTTP/1http2
,http
HTTP/2 veyatcp
TCP için algılamak için olarak ayarlayın.- öğesini
targetPort
kapsayıcınızın kullandığı bağlantı noktası numarasına ayarlayın. Uygulama giriş uç noktanız her zaman bağlantı noktasında443
kullanıma sunulur. exposedPort
Aktarım türü TCP girişi için bir bağlantı noktasına isetcp
özelliğini ayarlayın. Giriş dış ise, değerin Container Apps ortamında benzersiz olması gerekir. 'den adresine65535
bir1
bağlantı noktası numarası. (veya443
olamaz80
)
{
...
"configuration": {
"ingress": {
"external": true,
"transport": "tcp",
"targetPort": 80,
"exposedPort": 8080,
},
}
}
Girişi devre dışı bırakma
komutunu kullanarak az containerapp ingress
kapsayıcı uygulamanız için girişi devre dışı bırakın.
az containerapp ingress disable \
--name <app-name> \
--resource-group <resource-group> \
Portalı kullanarak kapsayıcı uygulamanız için girişi devre dışı bırakabilirsiniz.
- Kapsayıcı uygulaması sayfasının Ayarlar menüsünden Giriş'i seçin.
- Giriş Etkin ayarının seçimini kaldırın.
- Kaydet'i seçin.
yapılandırma özelliğini properties.configuration
tamamen atlayarak ingress
kapsayıcı uygulamanız için girişi devre dışı bırakın.
Diğer TCP bağlantı noktalarını kullanma
Uygulamanızdan ek TCP bağlantı noktalarını kullanıma sağlayabilirsiniz. Daha fazla bilgi edinmek için giriş kavramı makalesine bakın.
Not
Bu özelliği kullanmak için kapsayıcı uygulamaları CLI uzantısına sahip olmanız gerekir. Kapsayıcı uygulamaları CLI uzantısının en son sürümünü yüklemek için komutunu çalıştırın az extension add -n containerapp
.
DIĞER TCP bağlantı noktalarını eklemek, TCP bağlantı noktası yapılandırmalarınızla bir YAML dosyasına başvurarak CLI aracılığıyla yapılabilir.
az containerapp create \
--name <app-name> \
--resource-group <resource-group> \
--yaml <your-yaml-file>
Aşağıda, yukarıdaki CLI komutunda başvurabileceğiniz örnek bir YAML dosyası verilmiştir. Ek TCP bağlantı noktalarının yapılandırması altındadır additionalPortMappings
.
location: northcentralus
name: multiport-example
properties:
configuration:
activeRevisionsMode: Single
ingress:
additionalPortMappings:
- exposedPort: 21025
external: false
targetPort: 1025
allowInsecure: false
external: true
targetPort: 1080
traffic:
- latestRevision: true
weight: 100
transport: http
managedEnvironmentId: <env id>
template:
containers:
- image: maildev/maildev
name: maildev
resources:
cpu: 0.25
memory: 0.5Gi
scale:
maxReplicas: 1
minReplicas: 1
workloadProfileName: Consumption
type: Microsoft.App/containerApps
Bu özellik Azure portalında desteklenmez.
Aşağıdaki ARM şablonu, kapsayıcı uygulamalarınıza nasıl ek bağlantı noktaları ekleyebileceğinize ilişkin bir örnek sağlar. Her ek bağlantı noktası, kapsayıcı uygulamasının ingress
içindeki properties
bölümüne configuration
eklenmelidiradditionalPortMappings
. Aşağıda bir örnek verilmiştir:
{
...
"properties": {
...
"configuration": {
"ingress": {
...
"additionalPortMappings": [
{
"external": false
"targetPort": 80
"exposedPort": 12000
}
]
}
}
...
}