Ssl

解析伺服器上的 SSL

  • June 8, 2020

我有一個執行在 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 伺服器添加一個 SSL 證書,但我擔心現有使用者會發生什麼,仍然擁有http. 另外,我需要向 MongoDB 伺服器添加 SSL 證書嗎?

您沒有提供有關如何設置 Parse Server 的太多資訊,但在我看來,完成您想要的最簡單的方法是在客戶端和 Parse Server 之間設置一個反向代理。

就像在這張圖中:

反向代理 在此設置中,您的客戶端位於最左側,他們通過 Internet 訪問您的伺服器;您的 Parse Server(可能還有您的 Mongo 數據庫)位於圖片的最右側(標籤為“Servers”),反向代理位於中間。市場上有很多反向代理,所以你可以自由選擇最適合你的,但我最喜歡的是Nginx

反向代理是您將安裝 SSL 證書的地方,它將負責接收來自您的客戶端的請求。客戶端永遠不會直接訪問您的伺服器(Parse 和 MongoDB)。所有連接都將通過反向代理;您只需配置反向代理即可將連接重定向到正確的伺服器(基於埠、URL 或您想要的任何其他選項)。

對於仍然通過httpSSL 證書訪問您的伺服器的舊客戶端,您還可以配置反向代理以在將請求發送到最終目的地之前將任何http請求重定向到。https

回答您的最後一個問題:不,您不需要 MongoDB 上的 SSL 證書。您在反向代理中安裝的 SSL 證書就足夠了。

引用自:https://serverfault.com/questions/994789