当前位置:   article > 正文

NodeJS-如何生成SSL证书,https链接和http自动跳转到https_nodejs获取lets entry证书

nodejs获取lets entry证书

1. 安装TLS/SSL 证书

1. 生成私钥

  • openssl genrsa -des3 -out site.key 2048

这个命令会生成一个私钥。
该私钥使用三重DES加密,以PEM格式保存,可以使用ASCII码解密。

2. 生成证书签名请求

  • openssl req -new -key site.key -out site.csr

其中:

  • 通用名称是指网站的主机名。

3. 移除密钥的密码

  • 重命名:mv site.key site.key.org

  • openssl rsa -in site.key.org -out site.key

4. 生成自签名证书

  • 自动生成有效期为365天的证书:openssl x509 -req -days 365 -in site.csr -signkey site.key -out final.crt

2. 使用https链接

  • npm i https fs
const fs = require('fs');
const https = require('https');

const priateKey = fs.readFileSync('site.key');
const certificate = fs.readFileSync('final.crt');

const options = {
    key: priateKey,
    cert: certificate,
};

https.createServer(options, (req, res) => {
    res.writeHead(200);
    res.end("Hello World!");
}).listen(443, '0.0.0.0', () => {
    console.log('https://0.0.0.0:443/')
})
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

3. http自动跳转到https

const fs = require('fs');
const https = require('https');
const http = require('http');

const priateKey = fs.readFileSync('site.key');
const certificate = fs.readFileSync('final.crt');

const options = {
    key: priateKey,
    cert: certificate,
    rejectUnauthorized: false,
};

https.createServer(options, (req, res) => {
    res.writeHead(200);
    res.end("Hello World!");
}).listen(443, '0.0.0.0', () => {
    console.log('https://0.0.0.0:443/')
})

http.createServer((req, res) => {
    console.log(req.url);

    if(req.url === '/')
    res.writeHead(301, {
        'Location': 'https://0.0.0.:443'
    });
    res.end("hi");
}).listen(80, '0.0.0.0', () =>{
    console.log('http://0.0.0.0:80/')
});
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/505150
推荐阅读
相关标签
  

闽ICP备14008679号