0

我在 Nodejitsu 上托管一个应用程序,我希望该应用程序使用 wkhtmltopdf 将页面转换为 pdf,这是一个二进制文件。唉,我对 Nodejitsu 的计划不够大,无法通过 ssh 访问安装 wkhtmltopdf。

我想做的是在 AWS ec2 上托管 pdf 转换器。但我不确定安全连接两个 node.js 服务器的好方法。此外,当两台服务器连接时,在这两台服务器之间传输文件的最有效方式是什么。

有具体的设计模式吗?

4

1 回答 1

1

这取决于您需要什么安全性,以及您需要多少。因此,我假设您的 nodejitsu 服务器上有一些数据,并希望将其(以 html 格式)发送到 Amazon,然后从 amazon 将其(以 pdf 格式)接收回 nodejitsu,并且您想要:

  1. 没有人能够在两者之间阅读您的文档
  2. 没有人可以在两者之间篡改您的文件

首先,意识到任何有权访问 nodejitsu 或 amazon(员工或黑客)的人无论如何都可以看到您的数据(并且可能任何有权访问您的数据库提供商的人)。在某处发生数据泄漏的可能性比有人监听/篡改两者之间的连接的可能性要大得多(特别是如果您同时在美国或您信任的政府的(另一个)国家托管(请注意,如果美国政府想要访问您的数据,无论是 nodejitsu 还是亚马逊服务器都在美国,无论如何他们都会得到它)。但是,问题是,除非出现一些重大的互联网中断,否则 nodejisu 和亚马逊之间的连接不会通过阴暗的提供商或开放无线网络。

一旦你决定你仍然想要/需要额外的安全层(和复杂性),我会说:选择简单的路线。没有 https,没有证书,没有非对称加密。只需选择一个共享密钥(随机密码,越长越好),然后在发送之前对数据进行 AES 加密,然后在另一端进行 AES 解密(使用内置的节点加密模块)。只需通过 http 发送您的(加密的)文档,您就完成了。您甚至不需要任何授权层:收到的任何未加密为有效文档的内容都可以丢弃。

确实,https 可以防止其他一些攻击(主要是共享密钥可能在您的代码中的某个位置,因此也在您的本地机器(和 github)上,并且使用非对称加密,您只需将公钥存储在您的代码中。但是不过,它会为您省去很多麻烦!

于 2013-03-06T18:16:13.730 回答