Apigee Edge belgelerini görüntülüyorsunuz.
.
Git:
Apigee X belgeleri. bilgi
Belirti
İstemci uygulaması şu mesajla birlikte 502
HTTP yanıt kodunu alıyor
Edge Microgateway'deki API çağrılarına yanıt olarak Bad Gateway
.
Alternatif olarak, self signed certificate in certificate
chain
edgemicro configure
komutunu kullanın.
Hata mesajı
İstemci aşağıdaki yanıt mesajını görür:
HTTP/1.1 502 Bad Gateway
Hata yanıtlarının yaygın iki örneği şunlardır:
{"message":"self signed certificate in certificate chain","code":"SELF_SIGNED_CERT_IN_CHAIN"}
{"message":"self signed certificate","code":"DEPTH_ZERO_SELF_SIGNED_CERT"}
Alternatif olarak, edgemicro configure
çalıştırılırken bu hata oluşabilir:
{ Error: self signed certificate in certificate chain at TLSSocket.onConnectSecure (_tls_wrap.js:1051:34) at TLSSocket.emit (events.js:189:13) at TLSSocket._finishInit (_tls_wrap.js:633:8) code: 'SELF_SIGNED_CERT_IN_CHAIN' }
Olası nedenler
Neden | Açıklama | Şunun için geçerli sorun giderme talimatları: |
---|---|---|
Hedef sunucu kendinden imzalı bir sertifika sunuyor | Edge Microgateway, hedef sunucunun sertifikasını ve güvenilir değilse bunu doğrular çalışma zamanı hatası oluşur. | Edge Herkese Açık ve Private Cloud kullanıcıları |
Apigee Edge Yönetim Sunucusu kendinden imzalı bir sertifika kullanır | Edge Microgateway'i ilk kez yapılandırırken Apigee Edge'e Önyükleme için TLS. Edge kendinden imzalı bir sertifika sunarsa bu işlem başarısız olur. | Edge Private Cloud kullanıcıları |
Neden: Hedef sunucu kendinden imzalı bir sertifika sunuyor
kendinden imzalı sertifika, Güneye giden bağlantısı kurulduğunda, Edge Microgateway, varsayılan olarak bu hatayı kendinden imzalı sertifikalara güvenmez.
Teşhis
Günlüklerde şu hatayı görebilirsiniz (/var/tmp/edgemicro-`hostname`-
*.log
):
2021-05-18T10:52:46.425Z [error][0:8000][1][gsc][test][edgemicro_badtargethost][][][2db53f80- b7c7-11eb-9abe-05b6297863f1][microgateway-core][][GET][502][self signed certificate in certificate chain][SELF_SIGNED_CERT_IN_CHAIN][]
SELF_SIGNED_CERT_IN_CHAIN
hata kodu, Edge Mikro Ağ Geçidi'nin
hedef sunucudan kendinden imzalı bir sertifika almış olma ihtimali yüksektir. Bunu doğrulamak için şu işlemi uygulayın:
şu adımları uygulayın:
- Hedef sunucunun adresini doğrulamak için aşağıdaki
openssl
komutunu çalıştırın sertifika zinciri:echo | openssl s_client -connect TARGET_SERVER_HOSTNAME:PORT -servername TARGET_SERVER_HOSTNAME | openssl x509 -noout
-
Hedef sunucunun sertifika zinciri gerçekten kendinden imzalıysa düşünmesi gerekir.
Aşağıdaki örnekte, hedef sunucunun kendinden imzalı bir sertifika sunduğuna dikkat edin:
echo | openssl s_client -connect untrusted-root.badssl.com:443 -servername untrusted-root.badssl.com | openssl x509 -noout
depth=1 C = US, ST = California, L = San Francisco, O = BadSSL, CN = BadSSL Untrusted Root Certificate Authority verify error:num=19:self signed certificate in certificate chain verify return:0 DONE
Çözünürlük
- Sunucunun imzaladığı uygun bir TLS sertifikası oluşturmak için, hedef sunucunun sahibi olan ekiple güvenilir sertifika yetkilisidir (CA).
Bu mümkün değilse kendinden imzalı olanlara izin vermek için aşağıdaki seçeneklerden birini değerlendirin sertifikalarına ekleyebilirsiniz.
1. Seçenek: Edge Microgateway'in tüm cihazlara güvenmesine izin vermek için bir sistem özelliği ayarlayın sertifikalar
- Docker kullanıyorsanız Node.js'nin güvenmediği bir CA kullanma
Aksi takdirde,
NODE_EXTRA_CA_CERTS
adlı bir ortam değişkenini dışa aktarın. oturum açın.Bu, resmi bankada Node.js web sitesi.
2. seçenek: Edge Microgateway YAML yapılandırma dosyasını bu spesifik sertifikasının
- Hedef sunucunun sertifikasının (veya zincirinin) PEM biçiminde olduğundan emin olun. Alıcı: diğer sertifika biçimlerini PEM'e dönüştürmek için şu adresteki talimatları uygulayın: Sertifikaları desteklenen biçime dönüştürme.
Sertifika zinciri varsa sertifikaların doğru konumda olduğundan emin olun sipariş. Yaprak sertifikası her zaman ilk sırada ve ardından ara sertifika gelmelidir sertifika, ardından kök sertifika. Bu konuyla ilgili daha fazla açıklama için Sertifika zinciri doğrulanıyor.
Aşağıdaki örnekte, güvenilir CA dosyasını şunun için yapılandırdık:
untrusted-root.badssl.com
edgemicro: ... targets: - host: 'untrusted-root.badssl.com' ssl: client ca: /opt/apigee/certs/untrusted-root.pem
Bunu yapılandırmayla ilgili talimatlar şurada da ele alınmıştır: Edge Mikro Ağ Geçidi Modülü - Tek yönlü ve 2 yönlü Güneye Giden TLS videosunu yapılandırın. Referans Daha fazla bilgi için Edge Microgateway sunucusunda SSL'i yapılandırma başlıklı makaleyi inceleyin.
Sorun devam ederse şu adrese gidin: Teşhis bilgileri toplanmalıdır.
Neden: Apigee Edge Management Server kendinden imzalı bir sertifika kullanır
Edge Mikro Ağ Geçidi ilk kez ayarlandığında, çalıştırmanız gereken komutlardan biri
edgemicro configure
veya edgemicro private configure
. Bu komut,
önyükleme yapar ve gerekli bilgileri indirmek için Apigee Edge ile iletişime geçer.
Uç Private Cloud için Yönetim Sunucusu URL'si -m
bağımsız değişkeni tarafından belirlenir.
Yönetim Sunucusu için TLS'yi etkinleştirdiyseniz Edge Microgateway,
Yönetim Sunucusu tarafından sunulan sertifika.
Aşağıda, Edge Private Cloud için örnek bir edgemicro configure
komutu verilmiştir:
edgemicro private configure -u <username> -p <password> -o apigee -e dev -v secure -r https://apigee-dev.net -m https://management.apigee-dev.net:8443
Yönetim Sunucusu kendinden imzalı bir sertifikayla yapılandırılmışsa aşağıdaki hata mesajını görüyorsunuz.
{ Error: self signed certificate in certificate chain at TLSSocket.onConnectSecure (_tls_wrap.js:1051:34) at TLSSocket.emit (events.js:189:13) at TLSSocket._finishInit (_tls_wrap.js:633:8) code: 'SELF_SIGNED_CERT_IN_CHAIN' }
Teşhis
- Bu durumda Yönetim Sunucusu
(
management.apigee-dev.net
) kendinden imzalı bir TLS sertifikası döndürüyor olabilir. - Apigee Edge sistem yöneticiniz sertifikayı sağlamış olabilir ve bir kopyası vardır.
- Aksi takdirde, sertifika hakkında bilgi almak için aşağıdaki komutu çalıştırın:
echo | openssl s_client -connect management.apigee-dev.net:8443 -servername management.apigee-dev.net | openssl x509 -noout
. - Yönetim Sunucusu kendinden imzalı bir sertifikaya sahipse .
Çözünürlük
- Sunucunun imzaladığı uygun bir TLS sertifikası oluşturmak için, hedef sunucunun sahibi olan ekiple güvenilir sertifika yetkilisidir (CA).
Bu mümkün değilse kendinden imzalı olanlara izin vermek için aşağıdaki adımları uygulayın sertifikalarına ekleyebilirsiniz.
- Edge Microgateway'in tüm sertifikalara güvenmesine izin vermek için bir sistem özelliği ayarlayın.
- Docker kullanıyorsanız Node.js'nin güvenmediği bir CA kullanmak.
- Aksi takdirde,
NODE_EXTRA_CA_CERTS
adlı bir ortam değişkenini dışa aktarın. işaret eder.Bu işlem, resmi belgelerde Node.js web sitesini ziyaret edin.
Teşhis bilgileri toplanmalıdır
Yukarıdaki talimatları uygulamanıza rağmen sorun devam ederse aşağıdaki Apigee Edge Destek Ekibi ile iletişime geçin:
- Günlük dosyaları: Varsayılan klasör
/var/tmp
şeklindedir ancak şurada geçersiz kılınabilir:config.yaml
ana dosyası (logging > dir parameter
). Evet değerini sağlamadan öncelog > level
değeriniinfo
olarak değiştirmeniz önerilir. günlük dosyalarını Apigee Edge Destek'e kaydedin. - Yapılandırma dosyası: Edge Microgateway'in ana yapılandırması, YAML'de bulunur
dosyasını varsayılan Edge Microgateway klasöründe bulabilirsiniz (
$HOME/.edgemicro
). Birdefault.yaml
adlı varsayılan yapılandırma dosyası ve ardından her ortam için bir tane ORG-ENV-config.yaml
. Bu dosyayı yükle tamamı için 100 TL'lik bir değer girilmelidir.Referans belgeler
Edge API'ye erişmek için TLS'yi kullanacak şekilde Edge kullanıcı arayüzünü yapılandırma