我想让 Node.js 开发服务器使用 HTTPS,方法是让其访问 TLS 证书和私钥文件的内容。
一方面,我不喜欢让除根以外的任何人都可以读取 TLS 私钥文件的想法。另一方面,我更不喜欢以 root 身份运行 Node 服务器的想法。
所以我突然想到,我可以通过使用以下 shell 命令手动启动我的开发服务器来避免使用这些方法:
sudo cat /path/to/private/key/file | /path/to/node/server
(在我的例子中,服务器程序可以配置为读取 STDIN 并根据需要解析关键内容。)
我在这里的假设是管道(|
在上面的命令中)是匿名的(与命名管道相反),并且非特权的第三个程序无法访问与它们对应的文件描述符(至少在 Linux 上?)。那是对的吗?
还有其他我需要注意的安全方面吗?这是一个好的解决方案,还是有更好的选择?