node服务器支持https请求

水文一篇

问题

前段时间给自己的域名接入了https,但是前端向后端发起请求的时候报了这么一个错误

net::ERR_SSL_PROTOCOL_ERROR

意思是https的请求不能向http服务器发起,所以,我们要把node服务加上ssl

操作

const express = require("express");
const app = express();
const https = require('https');
const fs = require('fs');// node接入证书
const privateKey = fs.readFileSync('./ssl/privkey.pem', 'utf8');
const certificate = fs.readFileSync('./ssl/cert.pem', 'utf8');
const ca = fs.readFileSync('./ssl/chain.pem', 'utf8');
const credentials = {key: privateKey,cert: certificate,ca: ca
};// 跨域
app.use(require("cors")());//处理post请求,解析json数据 (中间件)
const bodyParser = require("body-parser");
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));// jsonwebtoken生成token
app.set("secret", "vuereactnodeblog");// 引入mongoose
require("./mongodb/db")(app);// 引入路由
import router from "./routes/index.js";
router(app);// 引入微医图书超时扣分器(每天23:59:50秒检测是否逾期,如果逾期设置逾期状态并且)
require("./utils/outtime")();const httpsServer = https.createServer(credentials, app);// http监听3000端口
httpsServer.listen(3000, () => {console.log("App Listening on port 3000");
});
const privateKey = fs.readFileSync('./ssl/privkey.pem', 'utf8');
const certificate = fs.readFileSync('./ssl/cert.pem', 'utf8');
const ca = fs.readFileSync('./ssl/chain.pem', 'utf8');

这三个文件的地址在我配置的 letsencypt 文件夹里面,看文章配置的兄弟们注意如果配置的ssl不是用 letsencypt 或者 用的阿里云或腾讯云的免费ssl证书,不要参考我这个方法配置!(应该是用key与pem双文件配置)

配置完了,我们就可以登录进去了

但是右上方显示了不安全,这是我的域名直接请求了 https://47.95.234.230:3000导致的,虽说https请求http的问题(禁止混合)解决了,但是这个证书只针对与域名 codeting.top有效,所以,请求 https://47.95.234.230:3000是不安全的。

这个时候我们只需要将 47.95.234.230:3000(3000这个端口或者这个服务映射到域名上就可以了),大家可以通过nginx配置,我这儿比较懒,直接宝塔面板映射,方便。

改完了,修改前端的请求IP为域名,就可以了。

node服务器支持https请求相关推荐

  1. php重新编译curl扩展,在Linux安装php的curl扩展,并支持https请求,重新编译法

    环境:php5.5.5 + nginx 任务:安装php curl扩展,并支持https 血与泪之坑:我先安装了curl,发现不支持https,然后再安装openssl,然而一切都晚了,折腾了半天,还 ...

  2. apache环境下配置服务器支持https

    SSL加密的意义在于保护服务器到客户端的信息或者是客户端到服务器的信息不被监听和篡改. 现在一些主流的网站都已经是通过 https访问了,搜索引擎对此类网站的收录也不存在问题了. 具体的配置流程大概是 ...

  3. postman-SSL证书问题-支持HTTPS请求

    使用Google接口调试插件postman请求https协议的接口,postman提示: 为此,需要解决这个问题,提示信息已经给出了解决方案!Using self-signed SSL certifi ...

  4. httpd模块支持https请求模块mod_ssl

    网址链接:http://blog.51cto.com/8522726/1895078 http://www.21andy.com/new/20100224/1714.html 转载于:https:// ...

  5. 使用C#开发HTTP服务器之支持HTTPS

      各位朋友大家好,我是秦元培,欢迎大家关注我的博客,我的博客地址是http://qinyuanpei.com.本文是"使用C#开发HTTP服务器"系列的第六篇文章,在这个系列文章 ...

  6. python接口自动化(十二)--https请求(SSL)(详解)

    简介 本来最新的requests库V2.13.0是支持https请求的,但是一般写脚本时候,我们会用抓包工具fiddler,这时候会 报:requests.exceptions.SSLError: [ ...

  7. 实现moco模拟https请求

    moco 环境搭建完毕,只能使用http请求,无法使用https的请求.下面讲解https证书的生成和使用,让moco能够支持https请求的mock 1.https服务启动命令: java -jar ...

  8. HTTPS 请求过程

    一.HTTPS 加密过程 概念 HTTP 协议(HyperText Transfer Protocol,超文本传输协议):是客户端浏览器或其他程序与 Web 服务器之间的应用层通信协议 . HTTPS ...

  9. 国美金融贷款通过TCP建立连接,国美金融贷款发送HTTPS请求

    国美金融贷款https通信时,首先建立ssl层的连接,客户端将ssl版本号和加密组件发到服务器端,服务器端收到后对ssl版本号和加密组件进行匹配,同时国美金融贷款将CA证书及密钥发送到客户端. 国美金 ...

最新文章

  1. 囚犯学会编程之后会发生什么?
  2. c语言的文案,点心回顾 | 这是一个充满有趣灵魂的C语言乐园!
  3. java 变长参数 知乎_变长参数探究
  4. 使用码云git的webhook实现生产环境代码的自动pull
  5. python anaconda和pycharm_Pycharm下 Anaconda和Conda的使用
  6. 浅谈c#垃圾回收机制(GC)
  7. FileIo 删除类中的private方法
  8. addeventlistener事件参数_Vue的钩子事件和程序化侦听
  9. idea新建springboot后端到前端_基于SpringBoot+AntDesign的快速开发平台
  10. 4.2 算法之数论 185 反正切函数的应用 python
  11. 【ACM】N皇后问题
  12. 直接双击启动tomcat中的startup.bat闪退原因及解决方法
  13. java+io+scanner_Java知识点总结(JavaIO- Scanner类 )
  14. 【时间序列异常检测】Anomaly Detection for IoT Time-Series Data: A Survey
  15. 河北源达投顾:用专业教学,用智能解决选股烦恼
  16. Linux下安装搜狗拼音输入法(Ubuntu18.04.2 LTS)
  17. 逆转录转座子简单介绍
  18. Android中禁止WebView滑动
  19. Unity游戏制作问题整理(1)--添加按钮声音
  20. mysql 服务_mysql的服务

热门文章

  1. 关于CAN通信速率设置
  2. Android OTA差分包制作(RK平台)
  3. Servlet API 详解(HttpServlet、HttpServletRequest、HttpServletResponse)
  4. 机器学习算法知识总结
  5. NBA球星管理系统----C语言链表带文件
  6. python 输入年份月份 输出该月份的天数
  7. Nexus6p手机刷KaliNetHunter详细操作手册-Windows
  8. elasticsearh中查询类型,term、match、match_all、multi_match、range、bool、boosting等
  9. JS获取随机数的四种方法(转)
  10. pcs层到mac层_BaiduPCS Go的安装及使用说明