উত্তর:
দেখুন এক্সপ্রেস ডক্স সেইসাথে https.createServer জন্য নোড ডক্স (যা কি প্রকাশ ব্যবহারের বিশেষ পরামর্শ দেওয়া হচ্ছে):
var privateKey = fs.readFileSync( 'privatekey.pem' );
var certificate = fs.readFileSync( 'certificate.pem' );
https.createServer({
key: privateKey,
cert: certificate
}, app).listen(port);
ক্রিয়েট সার্ভারের অন্যান্য বিকল্পগুলি এখানে রয়েছে: http://nodejs.org/api/tls.html#tls_tls_createserver_options_secureconnicationlistener
createServer
ইন এর সংজ্ঞাটি একবার দেখুন connect.js
(এক্সপ্রেসটি কেবল এটি সংযোগ থেকে উত্তরাধিকার সূত্রে প্রাপ্ত হয়)। আপনি দেখতে পাবেন যে এটি সঠিক স্বাক্ষর সহ কোনও ফাংশন দেয়। connect()
কেবলমাত্র একটি উপাধি connect.createServer()
এবং তাই এটিও express()
(যা সম্ভবত কিছু অতিরিক্ত সূচনা করে তবে ফলাফলটি এখনও অনুরোধ হ্যান্ডলার হিসাবে ব্যবহারের জন্য উপযুক্ত একটি ফাংশন)।
app
সংজ্ঞায়িত করা হয়। এই উত্তর সন্তোষজনক।
আমি নিম্নলিখিত বয়লারপ্লেট কোডের সাথে এসএসএলকে কাজ করতে সক্ষম হয়েছি:
var fs = require('fs'),
http = require('http'),
https = require('https'),
express = require('express');
var port = 8000;
var options = {
key: fs.readFileSync('./ssl/privatekey.pem'),
cert: fs.readFileSync('./ssl/certificate.pem'),
};
var app = express();
var server = https.createServer(options, app).listen(port, function(){
console.log("Express server listening on port " + port);
});
app.get('/', function (req, res) {
res.writeHead(200);
res.end("hello world\n");
});
এক্সপ্রেস ৪.০ এর জন্য এটি আমার কাজের কোড ।
এক্সপ্রেস ৪.০ 3.0 এবং অন্যদের থেকে খুব আলাদা।
৪.০ আপনার / বিন / www ফাইল রয়েছে যা আপনি এখানে https যুক্ত করতে যাচ্ছেন।
"এনপিএম স্টার্ট" হ'ল স্ট্যান্ডার্ড উপায় আপনি 4.0.০ সার্ভার এক্সপ্রেস শুরু করেন।
readFileSync () ফাংশনটিতে __ ডিরেক্টরি ব্যবহার করে বর্তমান ডিরেক্টরি পাওয়া উচিত
যখন প্রয়োজন () ব্যবহার করুন। / বর্তমান ডিরেক্টরি দেখুন।
প্রথমে আপনি private.key এবং public.cert ফাইলটিকে / বিন ফোল্ডারের নীচে রাখবেন, এটি ডাব্লুডাব্লুডাব্লু ফাইলের মতো একই ফোল্ডার ।
এই জাতীয় ডিরেক্টরিতে ত্রুটি পাওয়া যায় নি:
key: fs.readFileSync('../private.key'),
cert: fs.readFileSync('../public.cert')
ত্রুটি, এমন কোনও ডিরেক্টরি পাওয়া যায় নি
key: fs.readFileSync('./private.key'),
cert: fs.readFileSync('./public.cert')
ওয়ার্কিং কোড হওয়া উচিত
key: fs.readFileSync(__dirname + '/private.key', 'utf8'),
cert: fs.readFileSync(__dirname + '/public.cert', 'utf8')
সম্পূর্ণ https কোডটি হ'ল:
const https = require('https');
const fs = require('fs');
// readFileSync function must use __dirname get current directory
// require use ./ refer to current directory.
const options = {
key: fs.readFileSync(__dirname + '/private.key', 'utf8'),
cert: fs.readFileSync(__dirname + '/public.cert', 'utf8')
};
// Create HTTPs server.
var server = https.createServer(options, app);