gpt4 book ai didi

node.js - Mkcert 在 Node docker 容器上生成 rootCA,Browsersync over https 不安全

转载 作者:行者123 更新时间:2023-12-04 22:41:50 26 4
gpt4 key购买 nike

我在一个容器中通过端口 80 和 443 运行 Nginx,后者使用 mkcert 生成的 SSL 证书.这非常有效。
在另一个容器中,我正在运行 Node,然后运行 ​​Gulp,而 Gulp 又运行 Browsersync .
我的 Gulp 文件在 Node 容器中运行,该容器向我的本地计算机打开端口 3000 并代理 localhost,以便:
https://localhost 从 Nginx 容器运行。
https://localhost:3000 从带有 Browsersync 的 Node 容器运行
除了 Node 容器无法通过代理安全地显示网站这一事实之外,此方法有效。
阅读更多关于 Node 认证可能发生的事情,我发现 this at mkcert

Using the root with Node.js

Node does not use the system root store, so it won't accept mkcertcertificates automatically. Instead, you will have to set theNODE_EXTRA_CA_CERTS environment variable.

export NODE_EXTRA_CA_CERTS="$(mkcert -CAROOT)/rootCA.pem"


所以我知道我的 Node 容器上需要 rootCA.pen,这应该是它的结束。
在用于构建 Node 容器的 Dockerfile 中
FROM node:12.19.1-alpine3.9

RUN npm install -g gulp-cli@2.1.0

ADD ./nginx/certs /etc/ssl
RUN export NODE_EXTRA_CA_CERTS=/etc/ssl/rootCA.pem
我获取了包括 rootCA.pem 文件在内的所有证书并将它们转储到 Node 容器中的某个位置,在本例中为/etc/ssl
然后我设置 NODE_EXTRA_CA_CERTS 的环境变量。
为了安全起见,进入 Node 容器后,检查 rootCA.pem 是否存在,我终止 Node 进程并再次运行导出!
运行 gulp 文件:
function server(done) {
browser.init({
proxy: "https://nginx",
open: false,
https: true
});
done();
}
Browsersync 加载,我被显示...
[Browsersync] Proxying: https://nginx
[Browsersync] Access URLs:
--------------------------------------
Local: https://localhost:3000
External: https://192.168.16.7:3000
--------------------------------------
UI: http://localhost:3001
UI External: http://localhost:3001
--------------------------------------
我可以在浏览器中打开 https://localhost:3000 并且 browsersync 工作。但并非没有安全警告。
我错过了什么?

最佳答案

对于在使用 BrowserSync 时遇到 SSL 问题的任何人,您可能希望明确指出您的自定义证书和 key 。

browserSync( {
proxy: "https://localhost/mysite/",
https: {
key: "W:/xampp/htdocs/mkcert/localhost/localhost.key",
cert: "W:/xampp/htdocs/mkcert/localhost/localhost.crt"
}
});
注意:我正在使用 xampp,它安装在 W:/驱动器上。
您可以 learn more here .
高温高压

关于node.js - Mkcert 在 Node docker 容器上生成 rootCA,Browsersync over https 不安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69583734/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com