ssl 版本或密码不匹配 ExpressJS

2023-11-29

我在 Express 中遇到 https 问题,但我不太明白:

这是我的上一个项目(它有效):

索引.js:

var fs = require('fs');

var http = require('http');
var https = require('https');

var privateKey  = fs.readFileSync(__dirname + '/cert/server.key', 'utf8');
var certificate = fs.readFileSync(__dirname + '/cert/server.cert', 'utf8');

var credentials = {key: privateKey, cert: certificate};
var express = require('express');
var app = express();

var httpServer = http.createServer(app);
var httpsServer = https.createServer(credentials, app);

httpServer.listen(80);
httpsServer.listen(443);

//Force https
app.use(function(req, res, next) {
  if(!req.secure) {
    return res.redirect(['https://', req.get('Host'), req.url].join(''));
  }
  next();
});

这是我当前的项目(不起作用):

索引.js:

var fs = require('fs');

 var configRaw = fs.readFileSync(__dirname + '/config.json', 'utf8', function(err, data) {
     if(err) {
         return abort('Can not read/ find' + __dirname + '/config.json'); //FIXME
     }
 });

 var config = JSON.parse(configRaw);

 console.log('  - loading webserver script..');
 var webServer = require(__dirname + '/lib/web_server.js');

 webServer.init(config.httpPort, config.httpsPort);

web_server.js:

var fs = require('fs');
var http = require('http');
var https = require('https');

var privateKey = fs.readFileSync(__dirname + '/../ssl/server.key', 'utf8');
var certificate = fs.readFileSync(__dirname + '/../ssl/server.cert', 'utf8');

var credential = { key: privateKey, vert: certificate };
var express = require('express');
var app = express();

var httpServer = http.createServer(app);
var httpsServer = https.createServer(credential, app);

this.init = function(httpPort, httpsPort){
   httpServer.listen(httpPort);
   httpsServer.listen(httpsPort);
}

app.use(function(req, res, next) {
if(!req.secure) {
    return res.redirect(['https://', req.get('Host'), req.url].join(''));
}
   next();  
});

我使用与以前相同的证书和密钥,并且在读取文件或其他内容时从未遇到 fs 错误。

但是当我通过浏览器访问本地主机时,我收到以下消息:ERR_SSL_VERSION_OR_CIPHER_MISMATCH.

请记住,我对 Node.js 相当陌生 - 提前非常感谢! ;)


看来您有一个错字:

var credential = { key: privateKey, vert: certificate };

“vert”而不是“cert”:)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ssl 版本或密码不匹配 ExpressJS 的相关文章

  • 如何在Electron App中调用C# dll方法?

    我有一个电子应用程序 可以从读卡器读取信用卡详细信息 他们提供了一个 c dll 来与应用程序交互 我不知道如何从电子应用程序读取 dll 方法 首先使用以下命令检查 dll 中公开的函数依赖步行者 http www dependencyw
  • 如何突出显示 html 文档中文本查询的搜索结果而忽略 html 标签?

    我有一个字符串 其中包含 html 内容 像这样的东西 const text My name is Alan and I span an span div class someClass artist div 我使用以下命令在反应组件中渲染
  • 替换后正确的子串位置

    我有一个由用户提供的这样的函数 function replace function string return string replace smile g replace foo bar baz g text 1 我有这样的输入字符串 v
  • MongoDB:如何在更新之前对查询进行排序

    我正在编写一个 Meteor Node js 应用程序 它在后端使用 MongoDB 在我的代码中的某个时刻 我需要更新specific集合中的文档 我需要使用 Mongo 的 update 方法 但我在传递正确的 复杂的 查询以缩小到该特
  • tinyMCE - 将RemoveFormat限制为格式列表

    当前的tinyMCE版本 3 5 2 Hi 我正在开发一个自定义插件 可以添加和删除自定义格式 http www tinymce com tryit custom formats php 向当前选择添加格式很简单 但我做不到 找到删除多种格
  • 从 Flow 中的对象值定义联合类型

    我有一个这样的枚举 const Filter ALL ALL COMPLETED COMPLETED UNCOMPLETED UNCOMPLETED 我想做的是声明一个联合类型 如下所示 type FilterType Filter ALL
  • Node.js 中的 JSON Zip 响应

    我对 node js 还很陌生 我正在尝试发回包含 JSON 结果的 zip 文件 我一直在尝试弄清楚如何去做 但还没有达到预期的结果 我正在使用 NodeJS ExpressJS LocomotiveJS Mongoose 和 Mongo
  • 如何以编程方式确定 HTML 对象可以侦听哪些事件?

    我一直在查看developer mozilla org 和Apple 开发文档上的文档 但我找不到解释是否可以通过编程方式确定特定HTML 标记是否支持给定事件监听器的文档 就像我知道的那样
  • chrome.extension.getBackgroundPage() 函数示例

    我正在开发一个需要在后台运行的小型 Chrome 扩展 但是 我知道当我使用弹出窗口时这是不可能的 经过一番阅读后 似乎最好的选择是创建popup js为了运行background js using chrome extension get
  • 如果是数字,Chrome 会重新排序对象键,这是正常/预期的吗

    我注意到某些评估电子商务网站的某些鞋码并将其输出到屏幕上的代码会打乱 Chrome 中的顺序 给出的 JSON 可以是 7 9149 9139 10455 17208 7 5 9140 9150 10456 17209 8 2684 914
  • 在 GeoJson 数据接收到的 Google 地图多边形上放置标签

    我想将带有信息的标签 或带有标签的 div 放在由下面的代码片段绘制的多边形上 样式属性已成功应用于要素 多边形类型 有谁知道如何向该特征添加文本并将其显示在多边形的中心 function handleGeoJson data map da
  • 让屏幕阅读器读取使用 JavaScript 添加的新内容

    加载网页时 屏幕阅读器 例如 OS X 中的屏幕阅读器或 Windows 上的 JAWS 中的屏幕阅读器 将读取整个页面的内容 但是假设您的页面是动态的 当用户执行操作时 新内容就会添加到页面中 为了简单起见 假设您在某个位置显示一条消息
  • 将 SVG 下载为 PNG 图像

    我想将 HTML 页面中的 SVG 元素下载为 PNG 格式 我尝试了此操作 但下载了一个空白的 PNG 图像 如何将我的 HTML SVG 下载为 PNG 我用过这个https bl ocks org biovisualize 81878
  • Img src 路径以及要传递的标头参数

    我在 jsp 页面中有一个 img 标记 其中 src 路径需要传递标头参数才能获取图像 我们怎样才能实现它呢 您现在可以使用fetch https developer mozilla org en US docs Web API Fetc
  • 如何检查令牌过期和注销用户?

    当用户单击注销按钮时 他 她可以自己注销 但是如果令牌过期 他 她就无法注销 因为在我的应用程序中 令牌在服务器端和前端都使用 当用户单击注销按钮时 如果令牌有效 则服务器和浏览器中的令牌都会被清除 当用户未注销并且他 她的令牌过期但未在浏
  • JavaScript - 替换 html 字符串中的特定单词索引

    我在 JS 字符串操作方面面临着一项具有挑战性的任务 有一个 HTML 字符串 我需要在其中替换特定单词索引处的单词 单词索引是忽略 HTML 标签时单词的编号 例如 下面是 HTML 字符串 span style font family
  • ng-show 令人不安的 div 布局 - angularJS

    我在用ng show notesOpened 如果notesOpened 变量为true 则隐藏div 然而 当隐藏时 它会扰乱布局 有没有办法让 ng show 的行为与 css 属性相同visibility hidden 以便被隐藏的
  • 根据唯一测试提取站点地图 URL 和 cy.request() 每个 URL (Cypress) [重复]

    这个问题在这里已经有答案了 将 Cypress 与 TypeScript 结合使用 我的代码目标是提取 sitemap xml 中的所有 URL 和 cy request 每个 URL 的状态 200 这个版本的工作原理 describe
  • HTTPS 网站上的 ShareThis 按钮不可点击

    我已将 共享此 按钮添加到我的安全站点 现在单击它们时会产生错误 下面提到了错误 以前有人遇到过这个问题吗 阻止加载混合活动内容 http w sharethis com button buttons js http w sharethis
  • Javascript:在函数内调用函数时 window.location.href 不会重定向

    单击按钮时 window location href 会将浏览器重定向到 stackoverflow com 但在输入文本字段中按 Enter 键时不会将浏览器重定向到 stackoverflow com 尽管两个事件侦听器使用相同的函数

随机推荐

  • 是否可以使 Page.IsPostBack 独立于 ASP.net 为真?

    如果检查用户的角色以确定他们是否可以访问某个页面 则仅将此检查放在一个页面中是否安全 if Page IsPostBack 是否有可能client引起Page IsPostBack true独立于 ASP net 也就是说 客户端 POST
  • 从我的计算机python中提取子网掩码

    亲爱的 我打算提取我的子网掩码 我使用了下面的代码 但子网掩码始终是 255 255 255 255 这是错误的 import socket Import socket module import netifaces def get ip
  • ActionLink 或 BeginForm 提交中不弹出 AjaxOptions.confirm

    这是新手 所以如果我在另一个答案中错过了这一点 请耐心等待 我尝试在 Ajax BeginForm 中使用 AjaxOptions 但它没有弹出 所以我转而在 ActionLink 中测试它 但仍然无法让它工作 对于 ajax beginf
  • Java 字符串分割不起作用

    Java 专家 请查看下面的 split 命令代码 并让我知道为什么最后两个空值未被捕获 String test 1 O1 0 0000 0 0000 String splittest test split System out print
  • 带有 DataKinds 的类型级映射

    我有一个常见的模式 其中有一个类型级别的列表 我想应用一种类型构造函数 gt 到列表中的每个元素 例如 我想更改类型 Int Double Integer to Maybe Int Maybe Double Maybe Integer 这是
  • 如何在全日历中显示日期和工作日名称?

    我正在使用完整的日历 APIapi在我的网站上显示一个受 promo com 日历启发的日历 如下所示 这是我使用 React js 组件的解决方案 import React useState useEffect useContext us
  • React 上的连接被拒绝错误

    我正在尝试将我的 React 应用程序连接到 Rails api 但是 我似乎无法获取数据 错误信息是 GET http localhost 3000 net ERR CONNECTION REFUSED Fetch Error S Typ
  • jQuery - $(document).ready 和 $(window).load 之间有什么区别?

    之间有什么区别 document ready function my code here and window load function my code here 我想确保 document ready function and func
  • 不需要连接到金融机构的信用卡校验和和验证

    我所知道的验证是 整个卡号的校验和应为零 范围是0 9 根据卡类型检查第一位数字 根据卡类型检查长度 根据卡类型检查 CCV 长度 我认为所有主要类型都是 3 当然 请确保它是可接受的卡类型并且未过期 还有其他验证吗 我想很多人都不知道所有
  • 使用 Google Apps 脚本从 Google 表格导出 PDF 时的 setName

    我有这个脚本使用 Google Apps 脚本将三个单独的工作表导出为 PDF 该脚本工作正常 除了在每种情况下 PDF 均以文件名 export pdf 导出之外 我想将它们分别重命名为 昨天 过去 7 天 和 过去 30 天 有人可以帮
  • C#设置IE代理

    你好 我想使用 C 程序设置 IE 代理 因为 WebProxy 类有获取代理方法 但是没有方法可以设置它 以下是通过谷歌搜索找到的一些替代方案 1 全局代理选择 这是来自http www hccp org csharp http prox
  • Android 按名称以编程方式连接到 Open WiFi - 这是最佳解决方案?

    我一直在尝试使用两种方法通过名称以编程方式连接到开放的 wifi 连接门户 我使用了op1 但它只能工作大约80 的时间 op1 public static void connectToWifi Context context String
  • jQuery 文件上传插件要求我下载文件,出了什么问题?

    我在用着https github com blueimp jQuery File Upload我能够将文件上传并保存到指定文件夹 然后返回 Json 对象 然后浏览器 我使用IE8 弹出 文件下载 对话框 要求我下载一个名为 upload7
  • AlertDialog 支持 WebView 吗?

    我正在尝试实现一个带有 Webview 的 AlertDialog public OnClickListener imageButtonViewOnClickListener new OnClickListener public void
  • R - 如何将循环转换为 R 中的函数

    感谢您的阅读 我经常发现我需要将函数应用于数据切片 然后绑定输出 我通常会为此目的构建一个循环 但我确信我做错了 在 R 中我应该使用不同的思维方式 您能帮我学习更好的方法吗 带着感谢 adam rm m m 0 this variable
  • 如何使用 Rhino.Mocks 来模拟 ControllerContext

    我正在尝试使用Rhino Mocks模拟一个ControllerContext对象来访问运行时对象 例如控制器单元测试中的用户 请求 响应和会话 我编写了以下方法来尝试模拟控制器 private TestController CreateT
  • Javascript:检查数组的所有元素是否与变量相同,或者没有一个元素相同

    我有一个 javascript 变量 它是一个数组的数组 然后我在它下面有一个变量 像这样 var cars ford mustang 1955 red dodge dart 1963 green pontiac 2002 green va
  • NSArray 和 NSMutableArray 的区别

    您好 我正在使用基础工具使用 NSArrays 我编写了以下代码 void simplearrays NSMutableArray arr NSMutableArray arrayWithCapacity 3 for int i 0 i l
  • Azure Functions 运行时 v3 中间件

    有没有办法访问天蓝色中间件中的请求和响应对象 使用日志中间件教程我已经做到了这一点 public class ExceptionLoggingMiddleware IFunctionsWorkerMiddleware public asyn
  • ssl 版本或密码不匹配 ExpressJS

    我在 Express 中遇到 https 问题 但我不太明白 这是我的上一个项目 它有效 索引 js var fs require fs var http require http var https require https var p