利用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 相关文章推荐
javascript放大镜效果的简单实现
Dec 09 Javascript
JavaScript实现列表分页功能特效
May 15 Javascript
Javascript编写2048小游戏
Jul 07 Javascript
KnockoutJS 3.X API 第四章之表单textInput、hasFocus、checked绑定
Oct 11 Javascript
微信小程序  audio音频播放详解及实例
Nov 02 Javascript
利用Jquery实现几款漂亮实用的时间轴(附示例代码)
Feb 15 Javascript
js实现华丽的九九乘法表效果
Mar 29 Javascript
详解webpack+vue-cli项目打包技巧
Jun 17 Javascript
js定时器+简单的动画效果实例
Nov 10 Javascript
详解Vue.js中.native修饰符
Apr 24 Javascript
Layui Table js 模拟选中checkbox的例子
Sep 03 Javascript
Vue-cli打包后如何本地查看的操作
Sep 02 Javascript
使用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
dede3.1分页文字采集过滤规则详说(图文教程)续二
2007/04/03 PHP
用Zend Encode编写开发PHP程序
2010/02/21 PHP
CodeIgniter配置之autoload.php自动加载用法分析
2016/01/20 PHP
PHP Header用于页面跳转时的几个注意事项
2016/10/21 PHP
基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能
2017/01/24 PHP
PHP实现的最大正向匹配算法示例
2017/12/19 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
2020/10/30 PHP
JavaScript判断一个字符串是否包含指定子字符串的方法
2015/03/18 Javascript
解决JS组件bootstrap table分页实现过程中遇到的问题
2016/04/21 Javascript
微信小程序 实现拖拽事件监听实例详解
2016/11/16 Javascript
JS中with的替代方法与String中的正则方法详解
2016/12/23 Javascript
javascript中this用法实例详解
2017/04/06 Javascript
详解axios在vue中的简单配置与使用
2017/05/10 Javascript
AngularJS实现注册表单验证功能
2017/10/16 Javascript
vue技术分享之你可能不知道的7个秘密
2018/04/09 Javascript
基于Nodejs的Tcp封包和解包的理解
2018/09/19 NodeJs
javascript中join方法实例讲解
2019/02/21 Javascript
JavaScript数据结构与算法之二叉树插入节点、生成二叉树示例
2019/02/21 Javascript
python获取豆瓣电影简介代码分享
2014/01/16 Python
Python实现Pig Latin小游戏实例代码
2018/02/02 Python
python 进程的几种创建方式详解
2019/08/29 Python
python-视频分帧&多帧合成视频实例
2019/12/10 Python
对Pytorch中Tensor的各种池化操作解析
2020/01/03 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
2020/04/26 Python
Python读取yaml文件的详细教程
2020/07/21 Python
Python根据URL地址下载文件并保存至对应目录的实现
2020/11/15 Python
Python绘制数码晶体管日期
2021/02/19 Python
一套VC试题
2015/01/23 面试题
班级聚会策划书
2014/01/16 职场文书
优秀士兵先进事迹
2014/02/06 职场文书
合作意向协议书范本
2014/03/31 职场文书
募捐倡议书
2014/04/14 职场文书
品质标语大全
2014/06/21 职场文书
人力资源管理毕业生自荐信
2014/06/26 职场文书
小学生国庆节演讲稿
2014/09/05 职场文书
MYSQL 运算符总结
2021/11/11 MySQL