Merhaba
.net ile Kestrel, httpsys kullarak bir web servis oluşturduk, fakat bu web servisin http olarak standart dışı bir portta çalışmasını ve aynı porttan hem http hemde https taleplerine cevap vermesini istiyoruz,
Örnek:
https://radyo8icecast.radyotvonline.net:4545/stats
http://radyo8icecast.radyotvonline.net:4545/stats
Windows üzerinde çalışan bir icecast sunucusu ile bunu yapabiliyoruz.
icecast http portunu 4545, https portunu 4546 yapınca tam istediğimiz gibi sorunsuz çalıştı.
Biz de bunu kestrel ve httpsys kullanarak nasıl yapabiliriz ?
Yardımcı olabilecek arkadaş varsa çok sevinirim, kafayı yedirdi 3 gündür
teşekkürler
http ve https aynı portta olur mu?
10
●192
- 21-01-2023, 14:30:15HTTP ve HTTPS, aynı portta çalışabilir. Ancak, genellikle HTTPS, SSL / TLS güvenliği sağlamak için 443 numaralı portta çalışırken, HTTP 80 numaralı portta çalışır. Bu, standart olarak kullanılır ancak herhangi bir portta kullanılabilir. Önemli olan, hangi protokolün kullanılacağının belirlenmesidir.
- 21-01-2023, 14:32:24djcenk adlı üyeden alıntı: mesajı görüntüle
Dolasıyla http ve https birbirinden tamamen farklı 2 protokol portudur. HTTP için ayrı port, HTTPS için ayrı port çıkartmanız gerekiyor. - 21-01-2023, 14:36:27Microsoft.AspNetCore.Server.Kestrel ve Microsoft.AspNetCore.Server.HttpSys nuget paketlerini ekleyin hocam daha program.cs dosyasını açın ve aşağıdaki kodları Main methoduna ekleyin:
var host = new WebHostBuilder() .UseKestrel(options => { options.Listen(IPAddress.Any, 4545, listenOptions => { listenOptions.UseHttps("sertifikayolu.pfx", "sertifikasifre"); }); }) .UseHttpSys(options => { options.Authentication.Schemes = AuthenticationSchemes.None; options.Authentication.AllowAnonymous = true; options.UrlPrefixes.Add("http://*:4545/"); }) .UseStartup<Startup>() .Build(); host.Run();
bu kodlar ile Kestrel port 4545'i dinlemeye başlar aynı zamanda HTTPS için bir sertifika kullanır ve HttpSys kullanarak HTTP isteklerini de yönetir. "sertifikayolu.pfx" yerine sertifikanın yolunu, "sertifikasifre" yerine sertifika parolasını girin. - 21-01-2023, 21:31:44Süpersiniz, çok mantıklı gerçekten çok teşekkürler, deneyip sonucu yazacağım.
mcanyarar adlı üyeden alıntı: mesajı görüntüle - 21-01-2023, 22:32:41djcenk adlı üyeden alıntı: mesajı görüntüle
- 23-01-2023, 13:25:44Merhaba
maalesef çalışmadı şöyle bir hata aldık,
SSL_ERROR_RX_RECORD_TOO_LONG
neden olabilir sizce ?
mcanyarar adlı üyeden alıntı: mesajı görüntüle - 23-01-2023, 19:34:03djcenk adlı üyeden alıntı: mesajı görüntüle
Sizin durumunuzda, eğer sertifika yolu ve şifresi doğru girilmişse, sertifika süresinin dolmamış olmasına ve sertifika sunucunun IP adresi ile eşleşiyor olmasına dikkat edin.
Problem ssl'de, sertifikayolu ve şifresini de kontrol edin. - 23-01-2023, 22:51:57Merhaba
http portunu 4545, ssl portunu 4546 yaparsak aynı sertifika ve şifre sorunsuz çalışıyor.
Kestrel ve httpsys yi aynı port yaparsak bu hatayı alıyoruz.
mcanyarar adlı üyeden alıntı: mesajı görüntüle