首页 > 解决方案 > 两个自签名 CA,用于前端和后端本地测试

问题描述

问题:

如何为在 localhost:3000 上运行的前端和在 localhost:8080 上运行的后端创建两个自签名证书

语境:

嗨,我正在开发一个带有 React 前端和 Nodejs 后端的 Web 应用程序。我需要使用 https,所以我可以测试我是否可以用 cookie 做一些事情(对于这个问题的范围来说并不重要)。我的前端在 localhost:3000 上运行,后端在 localhost:8080 上运行。

到目前为止,我已经为我的前端创建了一个受 chrome 信任的自签名证书(在本地主机上)。但是,我的前端需要向我的后端发送一个 POST 请求并取回 cookie 标头,我希望现在我使用 https 可以正常工作。但是,当我的前端发送 POST 请求时,我创建的后端自签名证书似乎不起作用(我设置的通用名称是 localhost:8080)它回复ERR_CERT_COMMON_NAME_INVALID

是否有任何其他解决方案可以为这两个应用程序获取 https,以便我可以在本地进行测试?容器?任何帮助都会很有用,谢谢!

标签: node.jsreactjssslhttpsssl-certificate

解决方案


您实际上可以为后端和前端使用具有通用名称 localhost 的相同 CA,即使它位于不同的端口上。我正在使用它,所以我可以在 chrome 中设置带有安全标志和 sameSite=None 的 cookie,以便我可以在我的身份验证流程中处理 cookie。


推荐阅读