利用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 相关文章推荐
JQuery实现倒计时按钮具体方法
Nov 14 Javascript
javascript实现鼠标拖动改变层大小的方法
Apr 30 Javascript
Javascript实现计算个人所得税
May 10 Javascript
javascript中的五种基本数据类型
Aug 26 Javascript
详解微信小程序开发之下拉刷新 上拉加载
Nov 24 Javascript
微信小程序 解析网页内容详解及实例
Feb 22 Javascript
jq.ajax+php+mysql实现关键字模糊查询(示例讲解)
Jan 02 Javascript
小程序实现展开/收起的效果示例
Sep 22 Javascript
mpvue项目中使用第三方UI组件库的方法
Sep 30 Javascript
VScode格式化ESlint方法(最全最好用方法)
Sep 10 Javascript
Vue 打包体积优化方案小结
May 20 Javascript
详解Vue的组件中data选项为什么必须是函数
Aug 17 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
Linux系统中设置多版本PHP共存配合Nginx服务器使用
2015/12/21 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
2020/02/21 PHP
js sort 二维数组排序的用法小结
2014/01/24 Javascript
使用js获取图片原始尺寸
2014/12/03 Javascript
自定义百度分享的分享按钮
2015/03/18 Javascript
javascript cookie的简单应用
2016/02/24 Javascript
JSON字符串和对象相互转换实例分析
2016/06/16 Javascript
js 动态给元素添加、移除事件的实现方法
2016/07/19 Javascript
浅谈javascript控制HTML5的全屏操控,浏览器兼容的问题
2016/10/10 Javascript
详解vue-cli + webpack 多页面实例配置优化方法
2017/07/13 Javascript
利用babel将es6语法转es5的简单示例
2017/12/01 Javascript
JS交互点击WKWebView中的图片实现预览效果
2018/01/05 Javascript
基于Vue2.X的路由和钩子函数详解
2018/02/09 Javascript
详解各版本React路由的跳转的方法
2018/05/10 Javascript
vue生成文件本地打开查看效果的实例
2018/09/06 Javascript
VUE2.0+ElementUI2.0表格el-table循环动态列渲染的写法详解
2018/11/30 Javascript
JS中使用new Option()实现时间联动效果
2018/12/10 Javascript
webpack3.0升级4.0的方法步骤
2020/04/02 Javascript
Vue使用富文本编辑器Vue-Quill-Editor(含图片自定义上传服务、清除复制粘贴样式等)
2020/05/15 Javascript
[44:15]国士无双DOTA2 6.82版本详解(上)
2014/09/28 DOTA
Python 数据结构之堆栈实例代码
2017/01/22 Python
python模块之time模块(实例讲解)
2017/09/13 Python
python list元素为tuple时的排序方法
2018/04/18 Python
python+opencv+caffe+摄像头做目标检测的实例代码
2018/08/03 Python
Python3 读、写Excel文件的操作方法
2018/10/20 Python
python的turtle库使用详解
2019/05/10 Python
python傅里叶变换FFT绘制频谱图
2019/07/19 Python
python实现广度优先搜索过程解析
2019/10/19 Python
python爬虫开发之使用python爬虫库requests,urllib与今日头条搜索功能爬取搜索内容实例
2020/03/10 Python
用python实现前向分词最大匹配算法的示例代码
2020/08/06 Python
火箭队口号
2014/06/18 职场文书
2014幼儿园教师师德师风演讲稿
2014/09/10 职场文书
网络工程专业大学生求职信
2014/10/01 职场文书
语文复习计划
2015/01/19 职场文书
商务英语邮件开头问候语
2015/11/10 职场文书
使用Cargo工具高效创建Rust项目
2022/08/14 Javascript