สวัสดีครับ วันนี้ทางไอเรียลลี่โฮส จะมาแนะนำการติดตั้ง 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

 

ไอเรียลลี่โฮส
สำหรับการสนับสนุน และช่วยเหลือ
http://www.ireallyhost.com/support
ข้อกำหนดในการเผยแพร่บทความ ข่าวสาร
** บทความนี้มีลิขสิทธิ์ ไม่อนุญาติให้คัดลอก ทำซ้ำ ดัดแปลงก่อนได้รับอนุญาต **
โปรดระบุแหล่งที่มา บริษัท เอ็กซ์ตร้า คอร์ปอเรชั่น จำกัด / https://www.ireallyhost.com
ทั่วไป
คู่มือ / วิธีการติดตั้ง SSL Certificate สำหรับ cPanel Web Control Panel
บริการ SSL Certificate - โดยไอเรียลลี่โฮส