利用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 相关文章推荐
js常见表单应用技巧
Jan 09 Javascript
jQuery实现随意改变div任意属性的名称和值(部分原生js实现)
May 28 Javascript
浅谈JavaScript的Polymer框架中的behaviors对象
Jul 29 Javascript
jquery自适应布局的简单实例
May 28 Javascript
值得分享和收藏的xmlplus组件学习教程
May 05 Javascript
jQuery实现的弹幕效果完整实例
Sep 06 jQuery
详解小程序毫秒级倒计时(适用于拼团秒杀功能)
May 05 Javascript
js事件触发操作实例分析
Jun 21 Javascript
vue柱状进度条图像的完美实现方案
Aug 26 Javascript
javascript简单实现深浅拷贝过程详解
Oct 08 Javascript
JavaScript 中的执行上下文和执行栈实例讲解
Feb 25 Javascript
vue实现可以快进后退的跑马灯组件
Apr 08 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压缩多个CSS为一个css的代码并缓存
2011/04/21 PHP
php页面跳转代码 输入网址跳转到你定义的页面
2013/03/28 PHP
PHP设计模式之装饰者模式代码实例
2015/05/11 PHP
windows平台中配置nginx+php环境
2015/12/06 PHP
php7基于递归实现删除空文件夹的方法示例
2017/06/15 PHP
PHP7下协程的实现方法详解
2017/12/17 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
2018/06/16 PHP
js getElementsByTagName的简写方式
2010/06/27 Javascript
JavaScript中的运算符种类及其规则介绍
2013/09/26 Javascript
JS实现FLASH幻灯片图片切换效果的方法
2015/03/04 Javascript
详解JavaScript中getFullYear()方法的使用
2015/06/10 Javascript
JS实现淡蓝色简洁竖向Tab点击切换效果
2015/10/06 Javascript
基于JS设计12306登录页面
2016/12/28 Javascript
浅谈手写node可读流之流动模式
2018/06/01 Javascript
微信小程序实现banner图轮播效果
2020/06/28 Javascript
深入理解Vue keep-alive及实践总结
2019/08/21 Javascript
在layui tab控件中载入外部html页面的方法
2019/09/04 Javascript
js实现简单掷骰子小游戏
2019/10/24 Javascript
让IDE识别webpack的别名alias的实现方法
2020/05/06 Javascript
Vue之封装公用变量以及实现方式
2020/07/31 Javascript
[56:58]VP vs Optic 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
解决Python出现_warn_unsafe_extraction问题的方法
2016/03/24 Python
python如何使用正则表达式的前向、后向搜索及前向搜索否定模式详解
2017/11/08 Python
Python 创建新文件时避免覆盖已有的同名文件的解决方法
2018/11/16 Python
python之array赋值技巧分享
2019/11/28 Python
在Sublime Editor中配置Python环境的详细教程
2020/05/03 Python
Python安装并操作redis实现流程详解
2020/10/13 Python
加热夹克:RAVEAN
2018/10/19 全球购物
个人自我鉴定范文
2013/10/04 职场文书
春季运动会广播稿大全
2014/02/19 职场文书
《蒲公英》教学反思
2014/02/28 职场文书
信用卡工资证明范本
2014/10/17 职场文书
教师党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
校友会致辞
2015/07/30 职场文书
2016拓展训练心得体会范文
2016/01/12 职场文书
读《庄子》有感:美而不自知
2019/11/06 职场文书