【问题标题】:Node https server secureOptions not working节点 https 服务器安全选项不起作用
【发布时间】:2019-03-06 02:53:14
【问题描述】:

我有一个使用 node v.6 的 React 节点应用程序,一切正常;但是我现在试图在 https 服务器上禁止 TLS1.0,但遇到了问题。该应用程序正在使用 https.createServer 在端口 443 上通过 https 运行该应用程序。这一切正常,我们的 ssl 与该应用程序正常工作。

问题是当我添加用于配置 TSL 的 secureOptions 时,似乎没有任何改变。我尝试了许多不同的方法,但每次在网站上运行扫描时,我都会得到相同的结果。所以我不知道我的代码是错误的还是有其他我不知道的东西在起作用。

这是目前我的代码的样子,我认为从我在网上研究的内容来看是正确的(我也尝试过不使用密钥和证书选项来完全模仿我看到的示例)。

const options = {
  key: fs.readFileSync("./keys/example-key.pem"),
  cert: fs.readFileSync("./keys/example-cert.pem"),
  secureOptions: constants.SSL_OP_NO_TLSv1,
  pfx: fs.readFileSync(path.resolve("./keys/example.pfx")),
  passphrase: PASSPHRASE
};

console.log('Run on https');
https.createServer(options, app).listen(443);

据我所知,这是防止 TSL1.0 所需要的,但就像我说的那样,在重新扫描我的网站时,我的更改绝对为零。

另外需要注意的是这个应用程序在 IIS 环境中运行,并且服务器上有一些防火墙。我不是处理防火墙和服务器的人,所以我对它们知之甚少,但我不知道这是否是导致此问题的一个因素。

如果有人有任何建议,将不胜感激

仅供参考,这是我的扫描结果

【问题讨论】:

    标签: node.js http ssl


    【解决方案1】:

    试试下面的。

    const { constants } = require('crypto')
    
    https.createServer({
      key: fs.readFileSync("./keys/example-key.pem"),
      cert: fs.readFileSync("./keys/example-cert.pem"),
      secureOptions: constants.SSL_OP_NO_TLSv1 | constants.SSL_OP_NO_TLSv1_1
      pfx: fs.readFileSync(path.resolve("./keys/example.pfx")),
      passphrase: PASSPHRASE
    };
    
    console.log('Run on https');
    https.createServer(options, app).listen(443);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-10
      • 1970-01-01
      • 2020-08-03
      • 1970-01-01
      • 2016-04-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多