Nodejs projemizi https yani ssl olan urlde nasıl çalıştırabileceğimizi node js ssl oluşturarak hem http ip urlinde hemde ssl domain url adresimizde kullanacağız.
Peki sorun ne? biz http server yani bir ip üzerinde çalıştırdık sunucuda fakat sitemizi ssl kullanıyorsak şunun gibi hata alırız: "the page at '
Şimdi ise bu hatayı gidererek sunucumuz üzerinde var olan ssl koruması altındaki sitemizde nodejs https server kurarak çalışmasını sağlayacağız. Hazırsanız başlayalım!
Nodejs ile ssl certifikası oluşturma
Sunucuda projemizin bulunduğu klasore gidelim ve orada terminalden ssl oluşturma kodlarımızı yazalım:
cd projemizinklasoradi openssl req -new -newkey rsa:2048 -nodes -keyout ismailgultekin.com.key -out ismailgultekin.com.csr openssl x509 -req -days 365 -in ismailgultekin.com.csr -signkey ismailgultekin.com.key -out ismailgultekin.com.crt
3 adet csr,crt ve key dosyalarımızın oluştuğunu göreceksiniz. Şimdi sıra geldi nodejs https server dosyamızı oluşturmaya.
Nodejs https server oluşturma
Proje klasörümüz içinde server.js adında bir dosya oluşturalım ve içine https serverımızın kodlarını yazarak nodejs dosyamızı çalıştıralım.
var https = require('https'); var fs = require('fs'); var options = { key: fs.readFileSync('siteadiniz.com.key'), cert: fs.readFileSync('siteadiniz.com.crt') }; https.createServer(options, function (req, res) { res.writeHead(200); res.end("Node.js HTTPS Server Kuruldu"); }).listen(8443);
Şimdi server.js dosyamızı terminalden çalıştıralım. Kodumuz:
node server.js
Çalışıp çalışmadığını https://siteadiniz.com:8443 portu ile urlde yazarak deneyelim. Açılan sayfada "Node.js HTTPS Server Kuruldu" yazıyorsa işlem başarılır.

Şuanda bende tarayıcıdan kontrol ettiğimde https://ismailgultekin.com:8443/ HTTPS Server Kuruldu yazıyor. Harika işlem tamamdır.
Şimdi hem http, hemde http ile ayrı portlarda nodejs servırımızı çalıştıralım.
Nodejs Server HTTP ve HTTPS çalıştırma
Buradaki amacımız şu hem ssl https girilerek çalışan nodejs serverımız aynı anda http ile girildiğinde de çalışıyor olmasını sağlamak. server.js Kodumuz:
const fs = require('fs') const http = require('http'); const https = require('https'); const httpPort = 8442; const httpsPort = 8443; const CORS_fn = (req, res) => { res.setHeader( "Access-Control-Allow-Origin" , "*" ); res.setHeader( "Access-Control-Allow-Credentials", "true" ); res.setHeader( "Access-Control-Allow-Methods" , "*" ); res.setHeader( "Access-Control-Allow-Headers" , "*" ); if ( req.method === "OPTIONS" ) { res.writeHead(200); res.end(); return; } }; var options = { key: fs.readFileSync('ismailgultekin.com.key'), cert: fs.readFileSync('ismailgultekin.com.crt') }; const httpServer = http.createServer((req, res) => { res.end('Server Kuruldu!'); }, CORS_fn); const httpsServer = https.createServer(options, (req, res) => { res.writeHead(200); res.end("HTTPS Server Kuruldu"); }, CORS_fn); httpServer.listen(httpPort); httpsServer.listen(httpsPort); const ioServer = require("socket.io"); const io = new ioServer(); io.attach(httpServer); io.attach(httpsServer); io.sockets.on('connection', (socket) => { console.log('sockete birileri bağlandı.'); //data send-message eventına veri geldiğinde messages eventına datayı emit ile göndersin socket.on('send-message', function(data){ console.log("Server Dinliyor: "); console.log(data); //emit ile client gelen datayı gonderiyoruz io.emit('messages', data); }); // socket bağlantısı sonlandığında burası çalışır socket.on('disconnect', function(){ console.log('birileri geldi ve gitti.'); }); });
Socket.io kullanarak real time haberleşme
Projemizde socket.io kullarak nodejs serverımızla realtime haberleşme yaparak projemizin çalışıp çalışmadığınıda kontrol edelim. Bunun için index.html dosyası oluşturalım ve kodlarımızı yazalım.
İşlemler bu kadar sizde index.html dosyanızı tarayıcıda açtığınızda verilerin geldiğini görebiliyorsanız sorun yok demektir. Umarım faydalı bir anlatım olmuştur.

Burada ne yaptık nodejs server'ımız ile html sayfamız arasında real time haberleşme sağladık. Umarım faydalı bir konu olmuştur.

Telif Hakkı:
Problemi Şikayet Et!HAKKIMDA
Yazılım Uzmanlığı konusunda 11 yılı aşkın süredir Türkiye'de Cumhurbaşkanlığı olmak üzere Kurumlara ve Tüzel kişilere; Yön verme, Yücelik Sağlama ve Büyüme gereksinimlerinden doğan Yazılım ihtiyaclarına çözümler sunmaktayım.
<html>
<body>
<h5>
Yazılım
&
Teknoloji
</h5>
<p>
Dünyasına
Hoş Geldiniz.
</p>
</body>
</html>
Son Eklenen Konular
Nginx Nedir, Nasıl Çalışır, Kurulumu, Hata ve Çözümü
03 Haziran, 2022
Web Site | Web Tasarım | Web Yazılım
27 Nisan, 2022
Html URL ASCII Karakter kodları
04 Mart, 2022
Jquery Alert, Sweet alert, Dialog Kullanımı
03 Mart, 2022
Doğal Seo Çalışması Nasıl Yapılır?
19 Şubat, 2022
En Çok Okunanlar
Google api key nasıl alınır?
26 Eylül, 2013
Youtube Video'sunu Gif Yapma Gif'e Çevirme
17 Ağustos, 2013
linux çeşitleri nelerdir?
13 Ağustos, 2013
Php ile bot nasıl yapılır?
22 Eylül, 2013
Ajax ile sayfa yenilenmeden resim yükleme nasıl yapılır?
04 Ekim, 2013
İlgili İçerikler
-
25 Aralık, 2021 3080
Nodejs Bot Nasıl Yapılır, Nodejs ile Web Scraping Nasıl Yapılır?
-
27 Haziran, 2021 2522
Nodejs Projesini Sunucuya Yükleme, Nodejs Deploy işlemi
-
26 Haziran, 2021 1553
Nodejs Server Port Kurma, sonrasında veri gönderme, veri alma ve port nasıl Dinlenir?
-
08 Haziran, 2021 880
Nodejs Olaylar (Events) Yöneticisi
-
08 Haziran, 2021 3319
Nodejs ile Dosya oluşturma, okuma, yazma ve silme işlemleri
-
08 Haziran, 2021 3125
Nodejs Paket Yönetimi(NPM) Komutları ve Kullanımı