当前位置: 首页 > 面试题库 >

Node.js HTTPS服务器ERR_EMPTY_RESPONSE

戚宏浚
2023-03-14
问题内容

我使用创建了server.key和server.csr文件openssl req -nodes -newkey rsa:2048 -keyout server.key -out server.csr。我使用startssl.com创建了一个SSL证书,该证书给了我一个证书文件。然后在我的node.js应用程序中读取密钥和证书文件:

var app = module.exports = express.createServer({
  key: fs.readFileSync('server.key'),
  cert: fs.readFileSync('server.cert')
});

但是,现在我收到来自应用程序的空响应,即“未收到数据”消息。是什么原因造成的?我对SSL以及它的工作原理还很陌生,因此非常感谢您提供任何帮助。

更多信息:我在我的VPS服务器(生产服务器)上生成了两个文件,key和csr文件,现在我试图让它们在本地主机上工作(首先,在将代码提交到生产之前;我已经在进行git
commit之前测试它是否有效)。因此,这可能是由于我的本地主机(开发环境)与我的VPS服务器(生产环境)位于不同的域。可能是这样吗?如果是这样,如何在本地主机和生产环境使用相同证书的地方使用它?

或者,您是否建议我为开发环境创建另一个证书?我看到的唯一问题是,我的开发环境没有域,因为它是在本地完成的。为了简单起见,我宁愿使用相同的证书(即使那意味着一个损坏的锁图标或本地主机上的某个东西)。


问题答案:

您可以通过使用连接到应用程序来解决错误curl --insecure --verbose。通常,您不应在多个主机上使用SSL证书。您可以制作一个自签名的文件以在本地进行测试,并在生产环境中使用startssl文件。但是无论如何,证书中的CN必须与用于连接到站点的主机名匹配,以避免讨厌的浏览器警告。您总是可以像这样为计算机组成一个域名sam.local,并将其放在/
etc / hosts文件中,并在自签名证书和浏览器地址栏中使用该域名。



 类似资料:
  • null null Tomcat服务器正在运行servlet,为mySQL数据库执行一些业务逻辑和hibernate框架。 现在我有点糊涂了。两台服务器都能接收HTTP请求吗?就像servlet从网页接收https请求和我的apache服务器一样? 并且两者都可以连接到数据库--使用php的apache服务器,正如我提到的,同时使用servlet的tomcat?

  • 创建 http 服务器 package main   import ( "net/http"   "github.com/hprose/hprose-golang/rpc" )   func hello(name string) string { return "Hello " + name + "!" }   func main() { service := rp

  • 问题 你想在网络上提供一个服务器。 解决方案 创建一个基本的 TCP 服务器。 在 Node.js 中 net = require 'net' domain = 'localhost' port = 9001 server = net.createServer (socket) -> console.log "Received connection from #{socket.remo

  • hexo-server Hexo 3.0 把服务器独立成了个别模块,您必须先安装 hexo-server 才能使用。 $ npm install hexo-server --save 安装完成后,输入以下命令以启动服务器,您的网站会在 http://localhost:4000 下启动。在服务器启动期间,Hexo 会监视文件变动并自动更新,您无须重启服务器。 $ hexo server 如果您想要

  • 如何包含Eureka服务器 要在项目中包含Eureka服务器,请使用组org.springframework.cloud和工件id spring-cloud-starter-eureka-server的启动器。有关 使用当前的Spring Cloud发布列表设置构建系统的详细信息,请参阅Spring Cloud项目页面。 如何运行Eureka服务器 示例eureka服务器; @SpringBoot

  • hprose 为发布服务提供了多个方法,这些方法可以随意组合,通过这种组合,你所发布的服务将不会局限于某一个函数,某一个方法,某一个对象,而是可以将不同的函数和方法随意重新组合成一个服务。 AddFunction 方法 AddFunction(name string, function interface{}, option ...Options) Service 该方法的用于发布一个函数(命名函

  • Debug 字段 该设置默认值是 false,当发生错误时,只返回错误信息本身。 当该字段设置为 true 时,当发生 panic 时,会将整个 panic 的错误堆栈信息返回给客户端,在用户进行 hprose 服务开发时,该设置可以帮助你快速定位错误位置。 ErrorDelay 字段 该设置为整型值,默认值为 10 秒。 该字段表示在调用执行时,如果发生异常,将延时一段时间后再返回给客户端。 在

  • 我正在开发一个基于云的后端HTTP服务,该服务将公开用于与一些on-prem系统的集成。客户机系统是由外部供应商定制的,它们是带有自己数据库的后端系统。这些系统部署在我们客户的公司中,我们无法访问它们,也无法控制它们。我们向供应商提供我们的API规范,他们实现客户机代码。 我的服务与客户交换的数据格式基于XML,并遵循一定的标准。供应商用不同的编程语言实现他们的客户机系统,随着时间的推移,新的供应