สวัสดีครับ วันนี้ทางไอเรียลลี่โฮส จะมาแนะนำการติดตั้ง SSL Certificate กับ NodeJS และ ExpressJS ให้ กรณีที่ท่านใช้หลายโดเมนเนม หรือ หลายซับโดเมนเนม ให้สามารถโหลด https:// ได้อย่างสมบูรณ์
1. ทำการซื้อ SSL Certificate
- https://www.ireallyhost.com/cart/ssl
2. ติดตั้ง SSL Certificate เพื่อใช้หลายโดเมนได้ดังนี้
การการโหลด lib vhost และ vhosts
ทำการแก้ไขไฟล์ config nodejs เช่น http_server.js
ปรับตั้งค่า ใช้ให้เหมาะ กับการใช้งานของท่าน
const fs = require('fs');
const express = require('express');
const vhost = require('vhost');
const vhttps = require('vhttps');
const app = express();
app.use(vhost('a.com', function (req, res) {
res.setHeader('Content-Type', 'text/plain');
res.end('hello IREALLYHOST from a.com!')
}));
app.use(vhost('b.com', function (req, res) {
res.setHeader('Content-Type', 'text/plain');
res.end('hello IREALLYHOST from b.com!');
}));
const defaultCredential = {
cert: fs.readFileSync('./default-cert.pem'),
key: fs.readFileSync('./default-key.pem'),
};
const credentialA = {
hostname: 'a.com',
key: fs.readFileSync("/path/to/a_com_private.key"),
cert: fs.readFileSync("/path/to/a_com.crt"),
ca: fs.readFileSync('path/to/CA_root.crt')
};
const credentialB = {
hostname: 'b.com',
key: fs.readFileSync("/path/to/b_com_private.key"),
cert: fs.readFileSync("/path/to/b_com.crt"),
ca: fs.readFileSync('path/to/CA_root.crt')
};
const httpsServer = vhttps.createServer(defaultCredential, [credentialA, credentialB], app);
httpsServer.listen(443);
2. ทำการรัน Node JS
- nohup node http_server.js > output.log &
ท่านจะสามารถเข้าใช้งานเว็บไซต์ผ่าน https ได้ทันที
reference
https://www.npmjs.com/package/vhttps
https://timonweb.com/posts/running-expressjs-server-over-https/
https://hackernoon.com/set-up-ssl-in-nodejs-and-express-using-openssl-f2529eab5bb
http://blog.jonathanargentiero.com/hosting-multiple-websites-on-the-same-node-js-server/
https://www.kevinleary.net/self-signed-trusted-certificates-node-js-express-js/
https://shamadeh.com/blog/web/nodejs/express/2014/07/20/ExpressMultipleSites.html
** บทความนี้มีลิขสิทธิ์ ไม่อนุญาติให้คัดลอก ทำซ้ำ ดัดแปลงก่อนได้รับอนุญาต **
โปรดระบุแหล่งที่มา บริษัท เอ็กซ์ตร้า คอร์ปอเรชั่น จำกัด / https://www.ireallyhost.com