win7 64位下配置http2+nginx+nodeJS

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

最近要调研http2能给页面带来多少访问速度的提升,所以自己先搭一个环境测试一下;

一、CA数字证书:

要升级http2首先是要把http升级到https,https升级就需要CA证书,但由于现代的浏览器都已默认安装了一些网络证书,所以我们访问淘宝,京东之类的网站就不需要让用户自己安装了,其它没有安装的证书就得用户自己得去安装了;

现在网络上的很多https证书,有免费的也有付费的,但作为我是用于自己调试与测试用,当然找免费的了,但免费的证书需要申请与审核,时间也是得等,加上功能上也有限制,好吧,我是迫不及待的用证书,来调试,最后找到

了OpenSSL,自己来创建证书,省去申请的时间,那现在就说说OpenSSL如何创建一个ca证书,服务器证书与客户端证书;

安装准备:

下载OpenSSL我用的版本是openssl-1.1.0

下载安装ActivePerl最新版本即可;

下载安装nasm最新版本即可;

下载安装Visual Studio 2015 自己上度娘找吧,很多;

先把OpenSSL解压到E盘,目录名称为openssl-1.1.0;

点击开始按钮,选择Visual Studio Tools 下的64位编译机,定位到

E://openssl-1.1.0

输入命令:

//初始化文件目录

$ perl Configure VC-WIN64A --prefix=E:/openssl-1.1.0/win64_OpenSSL --ope nssldir=E:/openssl-1.1.0/win64_SSL

$ nmake

$ nmake test

$ nmake install

注意,以上的安装方法一定要参考该版本的安装方法,这个安装方法的文件一般叫INSTALL,网上有很多方法,都是老版本来的;

生成密钥、证书

第一步,为服务器端和客户端准备公钥、私钥

# 生成服务器端私钥

genrsa -out server.key 1024

# 生成服务器端公钥

rsa -in server.key -pubout -out server.pem

# 生成客户端私钥

genrsa -out client.key 1024

# 生成客户端公钥

rsa -in client.key -pubout -out client.pem

第二步,生成CA 证书

# 生成CA私钥

genrsa-outca.key 1024

# X.509CertificateSigningRequest (CSR) Management.

req-config "E:\openssl-1.1.0\win64_SSL\f" -new-keyca.key-outca. csr

# X.509CertificateDataManagement.

x509-req-inca.csr-signkeyca.key-outca.crt

CountryName (2 lettercode) [AU]:CH

StateorProvinceName (fullname) [Some-State]:Guangdong Province

LocalityName (eg, city) []:Guangzhou

OrganizationName (eg, company) [Internet Widgits Pty Ltd]:

OrganizationalUnitName (eg, section) []:IT

# 这里是写你的服务器域名

CommonName (e.g. serverFQDNorYOURname) []:*

EmailAddress[]:********@****.net

Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []:1234

An optional company name []:JINJIN

第三步,生成服务器端证书和客户端证书(注:每次生成完csr与crt 要把命令工具关闭重新打开,否则报错)

# 服务器端需要向CA机构申请签名证书,在申请签名证书之前依然是创建自己的CSR文件

req-config "E:\openssl-1.1.0\win64_SSL\f" -new-keyserver.key-o utserver.csr

# 向自己的CA机构申请证书,签名过程需要CA的证书和私钥参与,最终颁发一个带有CA 签名的证书

x509-req-CAca.crt-CAkeyca.key-CAcreateserial-inserver.csr-outserver.crt

# 其它参考上面的,唯一区别这就句

OrganizationName (eg, company) [Internet Widgits Pty Ltd]:

# 向自己的CA机构申请证书,签名过程需要CA的证书和私钥参与,最终颁发一个带有CA 签名的证书

x509-req-CAca.crt-CAkeyca.key-CAcreateserial-inserver.csr-outserver.crt

# client端到CA签名

x509-req-CAca.crt-CAkeyca.key-CAcreateserial-inclient.csr-outclient.crt

# 其它参考上面的,唯一区别这就句

OrganizationName (eg, company) [Internet Widgits Pty Ltd]: 生成后的文件如下:

二、nginx配置:

首先先下载一个nginx的稳定版本 1.10.1;

由于windows下的nginx是默认没有开通http_v2_module模块,即http2.0模块,如果要开启这个模块就得自己重新编译一个新nginx.exe文件,下面就来介绍如何生成一个支持http2.0的nginx;

相关文档
最新文档