我有一个在 Parse Server 上运行的生产移动应用程序,托管在 DigitalOcean 上。这是我的设置:
Droplet no1: Parse Server and Dashboard
Droplet no2: MongoDB
客户端连接 Parse Server 的方式如下:
let productionServerConfiguration = ParseClientConfiguration {
$0.applicationId = "applicationId"
$0.clientKey = "clientKey"
$0.server = "http://domain:1337/parse"
}
现在我想向 Parse Server 添加 SSL 证书,但我担心现有用户仍然拥有http
。 另外,我是否需要向 MongoDB Server 添加 SSL 证书?
答案1
你没有提供太多关于如何设置 Parse Server 的信息,但在我看来,实现你想要的最简单的方法是拥有一个反向代理位于客户端和 Parse Server 之间。
就像这张图一样:
在此设置中,您的客户端位于最左侧,它们通过互联网访问您的服务器;您的 Parse 服务器(可能还有您的 Mongo 数据库)位于图片的最右侧(标签为“服务器”),反向代理位于中间。市场上有许多反向代理,因此您可以自由选择最适合您的代理,但我最喜欢的是Nginx。
反向代理是您安装 SSL 证书的地方,它将负责接收来自客户端的请求。客户端永远不会直接访问您的服务器(Parse 和 MongoDB)。所有连接都将通过反向代理;您只需配置反向代理以将连接重定向到正确的服务器(基于端口、URL 或您想要的任何其他选项)。
对于仍然通过 访问您的服务器的旧客户端http
,如果没有 SSL 证书,您还可以配置反向代理,将任何http
请求重定向到,https
然后再将请求发送到最终目的地。
回答您的最后一个问题:不,您不需要 MongoDB 上的 SSL 证书。您在反向代理中安装的 SSL 证书就足够了。