利用nginx + node在阿里云部署https的步骤详解


Posted in Javascript onDecember 19, 2017

缘起

最近在写node+mongodb版本的灵犀微商城,所以免不了要自己去部署自己的https证书到阿里服务器,下面将实现的过程完整的给大家总结下,话不多说了,来一起看看详细的介绍吧。

 HTTPS和HTTP的区别主要如下:

      1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

      2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

      3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

      4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

申请

等了2天才拿到免费的https证书,在阿里一直是显示售罄,难道最近https普遍起来导致供不应求了。

利用nginx + node在阿里云部署https的步骤详解

利用nginx + node在阿里云部署https的步骤详解

利用nginx + node在阿里云部署https的步骤详解

利用nginx + node在阿里云部署https的步骤详解

部署

利用nginx + node在阿里云部署https的步骤详解

上传了fileauth.txt到指定的目录下,几分钟后,就审核通过了,期间并没有审核电话打进来。操作部署阿里给出很详尽,复制过来就可以,不过要注意要将cert文件夹放在conf下,而不是说明上所说的nginx根目录。当你按阿里原原本本地操作,将看到这个报错,fopen:No such file or directory:fopen('/usr/local/nginx/conf/cert/214389510580391.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file) ,也就明白是cert存在目录的问题。

node反向代理

location / {
   proxy_pass http://127.0.0.1:4001;
   proxy_set_header Host $host;
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }

node还是照旧跑,不关心https还是http,它由nginx完成。第1个proxy_pass是反向代理,后面3个proxy_set_header是将请求完全由mall.it577.net接管,不加上虽然能被前端请求,但是req.originUrl仍然还是会解析为http://127.0.0.1:4001,这就影响到了微信支付回调notify_url的解耦了,于是加上这3行。

结果

利用nginx + node在阿里云部署https的步骤详解

从地址栏看到已经支持https了。

以上的过程是很简单,基本都能配置上,说下我遇到的坑。因为我阿里预装nginx并不带https模块,所以要自己手动下载安装包再重新编译,最后复制新编译出来的nginx执行文件替换并重启服务。

报错,提示找不到ssl模块

nginx: [emerg] unknown directive "ssl" in /usr/local/nginx/conf/nginx.conf:123

下载相应版本的ngix压缩包

wget http://nginx.org/download/nginx-1.12.1.tar.gz

解压

tar zxvf nginx-1.12.1.tar.gz

带参编译得到ssl模块

./configure --with-http_ssl_module

make

停止nginx

/usr/local/nginx/sbin/nginx -s stop

当然可以kill进程,网上搜到的是让kill的3种方法

替换旧nginx

cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
cp ./objs/nginx /usr/local/nginx/sbin/

重启nginx并重新加载conf配置文件

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
/usr/local/nginx/sbin/nginx -s reload

上述踩坑参考了文章https://3water.com/article/130894.htm,感谢前人栽树。

这时再在浏览器访问就看到上面给出的截图效果了,大功告成。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
Jsonp 跨域的原理以及Jquery的解决方案
May 18 Javascript
js 遍历json返回的map内容示例代码
Oct 29 Javascript
node.js中的http.response.end方法使用说明
Dec 14 Javascript
jQuery过滤HTML标签并高亮显示关键字的方法
Aug 07 Javascript
JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)
Jun 02 Javascript
js判断checkbox是否选中个数的方法(超简单)
Aug 19 Javascript
Javascript中字符串和数字的操作方法整理
Jan 22 Javascript
js实现登录注册框手机号和验证码校验(前端部分)
Sep 28 Javascript
VUE解决微信签名及SPA微信invalid signature问题(完美处理)
Mar 29 Javascript
TypeScript开发Node.js程序的方法
Apr 30 Javascript
使用VueRouter的addRoutes方法实现动态添加用户的权限路由
Jun 03 Javascript
详解vue身份认证管理和租户管理
May 25 Vue.js
使用Vue自定义数字键盘组件(体验度极好)
Dec 19 #Javascript
vue 通过下拉框组件学习vue中的父子通讯
Dec 19 #Javascript
浅谈Vue.js中ref ($refs)用法举例总结
Dec 19 #Javascript
Vue 2.0学习笔记之使用$refs访问Vue中的DOM
Dec 19 #Javascript
jQuery实现弹窗下底部页面禁止滑动效果
Dec 19 #jQuery
基于node.js实现微信支付退款功能
Dec 19 #Javascript
React Native之prop-types进行属性确认详解
Dec 19 #Javascript
You might like
php中的strpos使用示例
2014/02/27 PHP
PHP面向对象程序设计之接口用法
2014/08/20 PHP
PHP利用MySQL保存session的实现思路及示例代码
2014/09/09 PHP
[原创]PHP简单开启curl的方法(测试可行)
2016/01/11 PHP
php判断数组是否为空的实例方法
2020/05/10 PHP
javascript下4个跨浏览器必备的函数
2010/03/07 Javascript
Javascript中作用域的详细介绍
2016/10/06 Javascript
提高JavaScript执行效率的23个实用技巧
2017/03/01 Javascript
打字效果动画的4种实现方法(超简单)
2017/10/18 Javascript
原生js封装添加class,删除class的实例
2017/11/06 Javascript
JavaScript实现左侧菜单效果
2017/12/14 Javascript
vue 实现剪裁图片并上传服务器功能
2018/03/01 Javascript
vue源码学习之Object.defineProperty对象属性监听
2018/05/30 Javascript
打通前后端构建一个Vue+Express的开发环境
2018/07/17 Javascript
nodejs 十六进制字符串型数据与btye型数据相互转换
2018/07/30 NodeJs
浅谈ElementUI中switch回调函数change的参数问题
2018/08/24 Javascript
vue实现点击按钮下载文件功能
2019/10/11 Javascript
详解Vue.js 响应接口
2020/07/04 Javascript
Js on及addEventListener原理用法区别解析
2020/07/11 Javascript
详解ES6实现类的私有变量的几种写法
2021/02/10 Javascript
Python3写入文件常用方法实例分析
2015/05/22 Python
python魔法方法-自定义序列详解
2016/07/21 Python
Python实现求解一元二次方程的方法示例
2018/06/20 Python
利用Python将图片中扭曲矩形的复原
2020/09/07 Python
SmartBuyGlasses丹麦:网上购买名牌太阳镜、眼镜和隐形眼镜
2016/10/01 全球购物
买卖正宗运动鞋:GOAT
2019/12/06 全球购物
护士实习自我鉴定
2013/10/22 职场文书
写给女朋友的检讨书
2014/01/28 职场文书
服务型党组织建设典型材料
2014/05/07 职场文书
公安四风对照检查材料思想汇报
2014/10/11 职场文书
中学生社区服务活动报告
2015/02/05 职场文书
团员个人总结
2015/02/26 职场文书
经费申请报告范文
2015/05/18 职场文书
初中班主任工作随笔
2015/08/15 职场文书
研究生毕业登记表的自我鉴定范文
2019/07/15 职场文书
详解php中流行的rpc框架
2021/05/29 PHP