• 25-06-2023, 18:08:35
    #1
    Merhabalar. Neo4j ve nodejs kullanarak bir internet sitesi tasarlıyorum angular'da. Normal Http olarak çalıştırdığımda apide herhangi bir problem yok. Fakat HTTPS olarak sertifikaları alıp işlediğimde POSTMAN ile istek yaptığımda "
    " Hatası alıyorum. Veriler geliyor fakat bu hatayı aldığım için sanırım Angular SSL ile çalıştırdığımda SSL build edemiyorum. Yardımcı olabilecek hocalarımı bekliyorum.


      const express = require('express');
    
      const fs = require('fs');
    
      const favicon = require('serve-favicon');
    
      const app = express();
    
      const neo4j = require('neo4j-driver');
    
      const cors = require('cors');
    
      const https = require('https');
    
      const bodyParser = require('body-parser');
    
      const uri = '*****';
    
      const user = 'neo4j';
    
      const password = '*****';
    
      const driver = neo4j.driver(uri, neo4j.auth.basic(user, password));
    
      const corsOptions = {
    
        origin: '*',
    
        credentials: true,
    
        optionSuccessStatus: 200
    
      };
    
      app.use(bodyParser.json()); // JSON verilerini ayrıştırır
    
      app.use(cors(corsOptions));
    
      app.use(favicon(__dirname + '/favicon.ico')); // Favicon dosyasını sunar
    
      
    
      // SSL/TLS sertifikası ve anahtarlarının dosya yolları
    
      const privateKeyPath = './private-key.pem';
    
      const certificatePath = './certificate.pem';
    
      const caCertificatePath = './ca-certificate.pem';
    
      
    
      // HTTPS sunucusunun yapılandırması
    
      const options = {
    
        key: fs.readFileSync(privateKeyPath),
    
        cert: fs.readFileSync(certificatePath),
    
        ca: fs.readFileSync(caCertificatePath)
    
      };
    
      
    
      // HTTPS sunucusunu oluşturun
    
      const httpsServer = https.createServer(options, app);
    
      
    
      // Sunucunun belirli bir portta dinlemesini sağlayın
    
      const port = 3000;
    
      httpsServer.listen(port, () => {
    
        console.log(`HTTPS sunucusu ${port} numaralı portta çalışıyor.`);
    
      });
    
      
    
      app.get('/Admin/tummakalelerigetir', async (req, res) => {
    
        let session; // session değişkenini burada tanımlayın
    
        try {
    
          session = driver.session();
    
          const result = await session.run('MATCH (n:makale) RETURN n');
    
          const makaleler = result.records.map(record => {
    
            const makale = record.get('n').properties;
    
            return {
    
              makalelink: makale.makalelink,
    
              makaleadi: makale.makaleadi,
    
              aciklama: makale.aciklama,
    
              medialink: makale.medialink,
    
              etiket: makale.etiket,
    
              tarih: new Date(makale.tarih)
    
            };
    
          });
    
          res.json(makaleler);
    
        } catch (err) {
    
          console.error(err);
    
          res.status(500).send('Makaleler getirilirken bir hata oluştu: ' + err.message);
    
        } finally {
    
          if (session) {
    
            await session.close();
    
          }
    
        }
    
      });
  • 25-06-2023, 18:12:37
    #2
    syerliturk adlı üyeden alıntı: mesajı görüntüle
    Merhabalar. Neo4j ve nodejs kullanarak bir internet sitesi tasarlıyorum angular'da. Normal Http olarak çalıştırdığımda apide herhangi bir problem yok. Fakat HTTPS olarak sertifikaları alıp işlediğimde POSTMAN ile istek yaptığımda "
    " Hatası alıyorum. Veriler geliyor fakat bu hatayı aldığım için sanırım Angular SSL ile çalıştırdığımda SSL build edemiyorum. Yardımcı olabilecek hocalarımı bekliyorum.


      const express = require('express');
    
      const fs = require('fs');
    
      const favicon = require('serve-favicon');
    
      const app = express();
    
      const neo4j = require('neo4j-driver');
    
      const cors = require('cors');
    
      const https = require('https');
    
      const bodyParser = require('body-parser');
    
      const uri = '*****';
    
      const user = 'neo4j';
    
      const password = '*****';
    
      const driver = neo4j.driver(uri, neo4j.auth.basic(user, password));
    
      const corsOptions = {
    
        origin: '*',
    
        credentials: true,
    
        optionSuccessStatus: 200
    
      };
    
      app.use(bodyParser.json()); // JSON verilerini ayrıştırır
    
      app.use(cors(corsOptions));
    
      app.use(favicon(__dirname + '/favicon.ico')); // Favicon dosyasını sunar
    
      
    
      // SSL/TLS sertifikası ve anahtarlarının dosya yolları
    
      const privateKeyPath = './private-key.pem';
    
      const certificatePath = './certificate.pem';
    
      const caCertificatePath = './ca-certificate.pem';
    
      
    
      // HTTPS sunucusunun yapılandırması
    
      const options = {
    
        key: fs.readFileSync(privateKeyPath),
    
        cert: fs.readFileSync(certificatePath),
    
        ca: fs.readFileSync(caCertificatePath)
    
      };
    
      
    
      // HTTPS sunucusunu oluşturun
    
      const httpsServer = https.createServer(options, app);
    
      
    
      // Sunucunun belirli bir portta dinlemesini sağlayın
    
      const port = 3000;
    
      httpsServer.listen(port, () => {
    
        console.log(`HTTPS sunucusu ${port} numaralı portta çalışıyor.`);
    
      });
    
      
    
      app.get('/Admin/tummakalelerigetir', async (req, res) => {
    
        let session; // session değişkenini burada tanımlayın
    
        try {
    
          session = driver.session();
    
          const result = await session.run('MATCH (n:makale) RETURN n');
    
          const makaleler = result.records.map(record => {
    
            const makale = record.get('n').properties;
    
            return {
    
              makalelink: makale.makalelink,
    
              makaleadi: makale.makaleadi,
    
              aciklama: makale.aciklama,
    
              medialink: makale.medialink,
    
              etiket: makale.etiket,
    
              tarih: new Date(makale.tarih)
    
            };
    
          });
    
          res.json(makaleler);
    
        } catch (err) {
    
          console.error(err);
    
          res.status(500).send('Makaleler getirilirken bir hata oluştu: ' + err.message);
    
        } finally {
    
          if (session) {
    
            await session.close();
    
          }
    
        }
    
      });
    https://stackoverflow.com/questions/...cate-in-nodejs
    Bu size yardımcı olacaktır. Olmazsa bildirin sertifika köküne bakayım.
  • 25-06-2023, 18:19:28
    #3
    omerbulut00 adlı üyeden alıntı: mesajı görüntüle
    https://stackoverflow.com/questions/...cate-in-nodejs
    Bu size yardımcı olacaktır. Olmazsa bildirin sertifika köküne bakayım.
    Hocam buna daha önce baktım fakat pek bişey anlamadım açıkçası.
  • 25-06-2023, 18:23:47
    #4
    syerliturk adlı üyeden alıntı: mesajı görüntüle
    Hocam buna daha önce baktım fakat pek bişey anlamadım açıkçası.
    https://git-scm.com/download/win
    Openssl in kurulumunu anlatıyor
    Nodejs üzerinde çalıştırıyoruz ya
    Gerisi de apk nın düzenlenmesi ile alakalı
  • 25-06-2023, 18:26:37
    #5
    omerbulut00 adlı üyeden alıntı: mesajı görüntüle
    https://git-scm.com/download/win
    Openssl in kurulumunu anlatıyor
    Nodejs üzerinde çalıştırıyoruz ya
    Gerisi de apk nın düzenlenmesi ile alakalı
    hocam elimde isimtescilden aldığım ssl sertifikası var onu kullanamam mı ?
  • 25-06-2023, 19:01:38
    #6
    Konuyu kapatmak için yazıyorum belki başka arayanlar olur. OpenSSL ile hocamında bahsettiği gibi ssl sertifikası kullanmak tabiki mümkün. Fakat canlıda bunu kullanamıyoruz. Ben isimtecsilden ssl almıştım onu kullanmak istiyordum. aşağıdaki kod bütünü arayan olursa umarım işini görür.
      const corsOptions = {
        origin: '*',
        credentials: true,
        optionSuccessStatus: 200
      };
      app.use(bodyParser.json()); // JSON verilerini ayrıştırır
      app.use(cors(corsOptions));
      app.use(favicon(__dirname + '/favicon.ico')); // Favicon dosyasını sunar
      
      /// SSL/TLS sertifikası, özel anahtar, kök sertifikası ve arakatman sertifikalarının dosya yolları
    const privateKeyPath = './klasoradi/mykey.pem';
    const certificatePath = './klasoradi/bodybook.com.tr.crt';
    const rootCertificatePath = './klasoradi/ETugra_Root_RSA.cer';
    const intermediateCertificatePaths = ['./klasoradi/Root_RSA.cer', './klasoradi/Trustsafe_Sub_RSA.cer'];
    // HTTPS sunucusunun yapılandırması
    const privateKey = fs.readFileSync(privateKeyPath, 'utf8');
    const certificate = fs.readFileSync(certificatePath, 'utf8');
    const rootCertificate = fs.readFileSync(rootCertificatePath, 'utf8');
    const intermediateCertificates = intermediateCertificatePaths.map(path => fs.readFileSync(path, 'utf8'));
    const credentials = {
      key: privateKey,
      cert: certificate,
      ca: [rootCertificate, ...intermediateCertificates]
    };
    // HTTPS sunucusunu oluşturun
    const httpsServer = https.createServer(credentials, app);
    // Sunucunun belirli bir portta dinlemesini sağlayın
    const port = 3000;
    httpsServer.listen(port, () => {
      console.log(`HTTPS sunucusu ${port} numaralı portta çalışıyor.`);
    });
  • 26-06-2023, 20:54:03
    #7
    certbot ile sertifika alın