【发布时间】:2021-10-11 22:42:36
【问题描述】:
我不知道是否可以轻松地做到这一点,而且我还没有找到任何关于如何在本地以安全 (HTTPS) 方式运行 shieldsio 的文档。
我已经按照this 的描述成功部署了一个工作服务器,但它只监听 HTTP。
我想也许我只需要一些小的重新配置就可以安全地工作了,所以 我所做的是修改 config/production.yaml
public:
bind:
address: '0.0.0.0'
port: 5443
ssl:
isSecure: true
key: 'https.key'
cert: 'https.crt'
我用来生成秘密的步骤是:
openssl genrsa -out https.key
openssl req -new -key https.key -out csr.pem
openssl x509 -req -days 9999 -in csr.pem -signkey https.key -out https.crt
rm csr.pem
在重建 docker 镜像并再次部署后,服务器开始监听,但在第一次 HTTP GET 之后我收到错误:
internal/buffer.js:958
super(bufferOrLength, byteOffset, length);
^
RangeError: Invalid typed array length: -4095
at new Uint8Array (<anonymous>)
at new FastBuffer (internal/buffer.js:958:5)
at Handle.onStreamRead [as onread] (internal/stream_base_commons.js:187:19)
at Stream.<anonymous> (/usr/src/app/node_modules/spdy/node_modules/handle-thing/lib/handle.js:120:12)
at Stream.emit (events.js:412:35)
at Stream.emit (domain.js:475:12)
at endReadableNT (/usr/src/app/node_modules/readable-stream/lib/_stream_readable.js:1010:12)
at processTicksAndRejections (internal/process/task_queues.js:82:21)
客户端 curl 命令返回:
curl -k https://127.0.0.1:5443
curl: (52) Empty reply from server
有没有人尝试过同样的事情并取得了成功? 也许我遗漏了一些明显的东西,我对nodejs不太熟悉。 感谢您的帮助。
谢谢, 银色燕尾服
【问题讨论】:
标签: node.js docker https ssl-certificate shields.io