推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > 编程杂技 > 搭建https和http2服务器

搭建https和http2服务器

编程杂技 2019-01-25

1 nginx搭建https服务器

1.安装openssl  sudo apt-get install openssl

2.生成服务器的私钥和证书
openssl genrsa -des3 -out cyb.key 2048  
openssl req -new -key cyb.key -out cyb.csr  
openssl rsa -in cyb.key -out cyb_nopass.key
openssl req -new -x509 -days 3650 -key cyb_nopass.key -out cyb.crt

nginx启动的时候需要去读取cyb.key这个文件里的私钥,但是这个文件是需要密码才能打开的,所以需要生成一个不需要密码打开的文件nopass.keycyb_nopass.key,这样才能配置配置成功,否则在error.log里会有出错提示。
3.配置文件nginx.conf

这里写图片描述

配置完之后启动nginx,访问https://localhost就可以看到welcome to nginx这个页面。执行 netstat -an| grep 443命令可以看到有进程在监听443端口。这样就实现了https服务。

2 用nodejs创建一个https服务器

var https = require('https');
var fs = require('fs');

var options = {
    key: fs.readFileSync('./files/server-key.pem'),
    ca: [fs.readFileSync('./files/ca-cert.pem')],
    cert: fs.readFileSync('./files/server-cert.pem')
};

https.createServer(options,function(req,res){
    res.writeHead(200);
    res.end('hello world\n');
}).listen(11111);

证书可以百度一下怎么生成,最后执行,访问https://localhost:11111即可。

3 用nodejs创建一个http2服务器

使用谷歌的spdy协议。首先安装spdy协议,npm install spdy

const http2 = require('./node_modules/spdy/lib/spdy');
var fs = require('fs');
var options = {
    key: fs.readFileSync('./files/server-key.pem'),
    ca: [fs.readFileSync('./files/ca-cert.pem')],
    cert: fs.readFileSync('./files/server-cert.pem')
};
http2
  .createServer(options, function(req,res){
    res.writeHead(200);
    res.end('hello world\n');
})
  .listen(8080)

访问https://localhost:8080即可,spdy强制使用https。


版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《搭建https和http2服务器》的版权归原作者「编程杂技」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注编程杂技微信公众号

编程杂技微信公众号:theanarkh

编程杂技

手机扫描上方二维码即可关注编程杂技微信公众号

编程杂技最新文章

精品公众号随机推荐

下一篇 >>

http2原理