在HTTPS / Web套接字安全上运行的Webpack Dev Server

通常,在开发人员模式下,Webpack使用HTTP运行。通常有一个Web服务器在单独的端口上使用http / websockets通过HTTP和webpack提供内容。

是否可以在https上运行Web服务器并在https / websocket secure上运行webpack?

理查德路易2020/03/23 15:44:57

就我而言,我必须运行所有这些命令来获取证书:

openssl genrsa -out private.key 4096
openssl req -new -sha256 -out private.csr -key private.key
openssl x509 -req -days 3650 -in private.csr -signkey private.key -out private.crt -extensions req_ext
openssl x509 -in private.crt -out private.pem -outform PEM

最后:

npm run dev -- --open --https --cert private.pem --key private.key
2020/03/23 15:44:57

查看webpack文档

您可以将一个标志添加到webpack-dev-server命令中

webpack-dev-server --https 
ItachiHarry2020/03/23 15:44:57

这仅适用于TEST环境:

您需要按照以下步骤配置webpack-dev-server:

webpack-dev-server --https --cert ./cert.pem --key ./key.pem

但是,当webpack尝试从密钥读取密码短语时,存在一个已知的错误。 请看这个链接

最简单的解决方法是不使用密码生成密钥(我不知道这样做的安全性!但这仅用于测试)。

要从密钥中删除密码,请使用以下命令:

$ openssl rsa -in key.pem -out newKey.pem

并在预览配置行中使用新密钥