[英]Use trusted SSL certificate with spring boot in pivotal cloud foundry
我是 SSL 證書主題的新手,我想安裝我購買的 SSL,這樣當用戶進入我的網站時,他們不會看到這里的不受信任的證書警告是我到目前為止所做的步驟
我將所有文件(包括我生成的文件)放在資源目錄中並添加了以下屬性
server.ssl.key-store:classpath:myFile.p12
server.ssl.key-store-password:some_pass
server.ssl.keyStoreType:PKCS12
server.ssl.keyAlias:someAlias
我后來運行了以下命令:keytool -importcert - 嘗試將我從 ssl 供應商獲得的文件導入到我創建的文件 (.p12)
比我創建了我的 jar 並將其上傳到關鍵雲代工廠,但我仍然看到無效的證書消息
我不知道我是否需要在關鍵平台或 spring 引導配置上做些什么
唯一可行的方法是使用 TCP 路由。 使用 Cloud Foundry 上的標准 HTTP 路由,流量首先到達負載均衡器,然后到達 Gorouter。 TLS 終止將在那里發生,而不是在您的應用程序中。 如果您使用 TCP 路由,這將在 TCP 級別進行負載平衡,並允許您的應用程序直接執行 TLS 終止。
也就是說,你真的不想這樣做。 TCP 路由不太可能允許您選擇端口 443,因為一個端口只能分配給一個應用程序。 這意味着只有一個使用 TCP 路由的應用程序可以使用 443 端口。此外,在大多數情況下,平台運營商只允許 TCP 路由的高編號端口,這意味着沒有人能夠選擇 443。長話短說,你不想要您的用戶必須以https://www.example.com:47385的身份訪問您的網站,因此您不需要 TCP 路線。
要使用標准 HTTP 路線正確設置此功能,您需要與平台運營團隊合作。 您將需要一起執行以下操作:
完成所有這些操作后,流向您域的流量將解析為負載均衡器的 IP。 您的用戶的瀏覽器將向 LB 發出 HTTPS 請求,這將終止 TLS(如果是 HTTP/layer-7 LB),並轉發到 Gorouter(如果有 TCP/layer-4 LB,則 TLS 在此處終止),然后轉發到您的應用程序(基於您映射的路線)。
您的應用程序需要查看x-forwarded-for
和x-forwarded-proto
標頭以確認請求是否通過 HTTPS 傳入,因為它不會直接終止 TLS。
[1] - 這與證書的安裝方式有關。 使用單獨的 LB,您將證書添加到其中並完成。 如果您嘗試重用平台 LB,則需要將證書添加到現有的證書列表中。 此外,如果您的平台運營團隊正在使用 TCP/layer-4 負載均衡器,則 TLS 終止不會發生在 LB,它會發生在 Gorouter。 這意味着您必須將 TLS 證書加載到 Gorouter 中,這需要 Bosh 部署並且需要更多工作。 修改平台 LB 也存在導致基礎崩潰的錯誤風險。 由於這些原因以及更多原因,為您的應用添加單獨的 LB 通常是 go 的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.