angular - HttpClient kendinden imzalı sertifika hatasını göz ardı edemez veya atlayamaz
Bir POST verisini bir sunucuya göndermeyi denedim ama “net::ERR_CERT_INVALID” hatası aldım. Aşağıda gösterilen kod, hatayı atlamayı denemek için denediğim şeydir ama yine de başarısız oldu. Lütfen tavsiye verin. Teşekkür ederim.
import { HttpClient, HttpParams } from '@angular/common/http';
createData(data): Promise<any> {
let post_message = data;
let header_node = {
Accept: 'application/json',
rejectUnauthorized: 'false',
}
// this.oauth_header.Authorization = 'Bearer ' + access_token;
const url_params = new HttpParams()
.set('rejectUnauthorized', 'false')
.set('requestCert', 'false')
.set('insecure', 'true')
return this.http.post('https://ip/createdata', post_message, {
headers: header_node,
}).toPromise();
Cevap #1
POST metoduna başlıkları HttpHeaders olarak geçirmeyi deneyin.
import { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';
createData(data): Promise<any> {
let post_message = data;
let header_node = {
headers: new HttpHeaders(
{ 'Accept': 'application/json' },
{ 'rejectUnauthorized': 'false' })
};
return this.http.post('https://ip/createdata', post_message, header_node).toPromise();
}
Cevap #2
Bu gönderinin paylaşılmasından bu yana epey zaman geçti, yine de ben de bir keycloak geliştirme sunucusunda benzer bir sorunla karşılaştım (kendi kendine imzalanmış sertifika=geçersiz), onunla etkileşime girecek bir Angular 13+ uygulaması geliştiriyordum. Tahmin ettiğim kadarıyla bu hatayı tarayıcıdan alıyordunuz, söyleyeyim ki bu HttpClient veya Angular kaynaklı bir problem değil, tarayıcının süreci engellemesiyle ilgili. Gelecekteki durumlar için, işte "çözüm/atlatma":
Tarayıcıya gidin, sunucu URL'nizi/IP'nizi (geçersiz sertifikalı olan) yazın ve ardından geçersiz sertifika tarayıcı uyarısı çıktığında, tarayıcının oraya gitmesine izin verin. Aşağıdaki görselle erişim verdim ama ayrıca gizlilik ve güvenlik ayarlarında da (Chrome üzerinde test edildi) Tarayıcı ekran görüntüsü örneği
Benim için işe yaradı, umarım birkaç yıl sonra benim gibi aynı sorunu çözmeye çalışan insanlar için de yardımcı olur!
