在码头化的 Mern 应用程序上启用 https?数字海洋
Enable https on dockerised Mern app? Digital Ocean
我已经构建了一个 MERN 堆栈应用程序,并将我的 Nodejs(express) 服务器和我的 React 前端分离到单独的 docker 容器中,并且可以使用组合文件启动它们。
我希望在 Digital Ocean Droplet 运行 docker/docker-compose 上将其投入生产,并且想知道如何使用 ssl 保护它?我需要在每个容器上启用证书,还是只在 Droplet 上启用证书。
在研究这个主题时,我看到很多人在他们的前端 (React) 中使用 Nginx,但我不确定这有什么关系?
处理 SSL 的最常见方法是添加 Reverse Proxy
(例如 Nginx)来为您的所有环境执行 SSL 卸载。
+----------+
| |
| Client |
| |
+----+-----+
|
| myDomain.net
|
[INTERNET]
|
|
v :443
+--------+-------+
/* | | /api
+----------+ Revese Proxy +---------+
| | (Gateway) | |
| +----------------+ |
| |
| |
| :8080 | :3000
| |
+----+----------+ +---------+-----+
| | | |
| SPA | | Backend |
| (webserver) | | (API server) |
| | | |
+---------------+ +---------------+
您需要在撰写中添加一个额外的组件。你可以称它为gateway
。现在您可以将 SSL 作为秘密传递,现在它将充当您的网络的中间件,用于加密传出数据和解密传入数据。
我找到了一个可能适合您的设置的教程:https://medium.com/@pentacent/nginx-and-lets-encrypt-with-docker-in-less-than-5-minutes-b4b8a60d3a71
我已经构建了一个 MERN 堆栈应用程序,并将我的 Nodejs(express) 服务器和我的 React 前端分离到单独的 docker 容器中,并且可以使用组合文件启动它们。
我希望在 Digital Ocean Droplet 运行 docker/docker-compose 上将其投入生产,并且想知道如何使用 ssl 保护它?我需要在每个容器上启用证书,还是只在 Droplet 上启用证书。
在研究这个主题时,我看到很多人在他们的前端 (React) 中使用 Nginx,但我不确定这有什么关系?
处理 SSL 的最常见方法是添加 Reverse Proxy
(例如 Nginx)来为您的所有环境执行 SSL 卸载。
+----------+
| |
| Client |
| |
+----+-----+
|
| myDomain.net
|
[INTERNET]
|
|
v :443
+--------+-------+
/* | | /api
+----------+ Revese Proxy +---------+
| | (Gateway) | |
| +----------------+ |
| |
| |
| :8080 | :3000
| |
+----+----------+ +---------+-----+
| | | |
| SPA | | Backend |
| (webserver) | | (API server) |
| | | |
+---------------+ +---------------+
您需要在撰写中添加一个额外的组件。你可以称它为gateway
。现在您可以将 SSL 作为秘密传递,现在它将充当您的网络的中间件,用于加密传出数据和解密传入数据。
我找到了一个可能适合您的设置的教程:https://medium.com/@pentacent/nginx-and-lets-encrypt-with-docker-in-less-than-5-minutes-b4b8a60d3a71