Node Https配置

来源:互联网 发布:易观国际数据 编辑:程序博客网 时间:2024/06/16 18:07

Node运行环境安装:

访问node官网:https://nodejs.org,选择需要安装的版本下载;或者使用wget直接下载到服务器。

选择版本的时候要注意,有源码版本,也有编译好的安装版本。建议直接下载编译好的版本进行安装,源码版本下载安装的时候在有些操作系统上会有unicode编码错误提示。

目前最新的是8.4.0,官方推荐的版本是6.11.2,我们使用的是8.3.0。

安装下载(上传)到服务器的指定目录后直接解压:tar zxvf node-v8.3.0-linux-x64.tar.gz

解压后得到node-v8.3.0-linux-x64,可以修改文件夹或者将文件夹中的内容移动到自己新建的目录。解压后的文件夹中里边有bin目录,包含了我们需要的node和npm。需要注意的是, npm 是链接到 ../lib/node_modules/npm/bin/npm-cli.js 的,不能直接拷贝到/usr/bin/ ,否则会出错,可以使用 ll 看到。


配置环境变量:

编辑/etc/profile,增加路径:


执行命令Source /etc/profile,立即生效

使用idea创建node工程并部署到服务器:

准备:

从node官网下载适合本地开发的nodeJS到本地。下载安装IntelliJ IDEA。

IDEA中配置NodeJS:

默认安装好了IDEA,在IDEA的file ->setting ->Plugins,右边默认是没有这个组件的需要你手动点击Browe repositories..,在插件列表中搜索nodejs,将看到NodeJS插件,点击下载,重启,(其实它会关联到你安装的NodeJS)如下图


         在new project中就多出一项NodeJS


构建第一个NodeJS项目,在Nodeinterpreter中选择本地安装的nodejs,系统自动加载版本信息。



点击Finish创建完成。

在idea中选择bin目录下的www,点击右键运行。


在浏览器中输入:http://localhost:3000(端口号可以在www中进行修改)显示如下图,说明成功:


将新建工程中的bin,node_modules,routes,views,app.js上传到服务器指定的项目文件夹。


运行nohup node/var/local/project/nodeweb/nodeapp/bin/www &命令启动项目。成功后会在执行命令的文件夹生成nohup.out日志输出文件。

搭建https配置:

基本原理

HTTP协议采用明文传输数据,当涉及敏感信息的传送时,极有可能会受到窃听或者中间人的攻击。HTTPS是HTTP与SSL/TLS的组合,即使用加密通讯以及网络服务器的身份鉴定来进行信息的安全传输。其核心有二:

使用证书对服务器及请求端的身份验证

使用一组对称秘钥加密包括请求头在内的所有信息传输

Openssl自签名证书的生成

HTTPS中一个关键就是证书文件。当然我们可以找专业的第三方机构签发。自己玩玩的话就用自签名的证书就可以了,用户在访问的时候则需要确认安全性问题。

生成传输pre-master secret的时候所需要的Server端的私钥,运行时提示需要输入密码,用于对key的加密。以后每次读取此文件的时候,都需要输入指令。

# 生成服务器端的非对称秘钥

openssl genrsa -des3 -out server.key 1024

# 生成签名请求的CSR文件

openssl req -new -key server.key -out server.csr

# 自己对证书进行签名,签名的有效期是365天

openssl x509 -req -days 365 -in server.csr -signkey server.key -outserver.crt

# 去除证书文件的password

cp server.key server.key.orig

openssl rsa -in server.key.orig -out server.key

最终在建立HTTPS链接中使用的文件是

server.crt

server.key

在Node中设置Https:

修改bin中的www文件,添加如下图内容:


配置完成后,重启nodejs,在浏览器访问https://localhost