服務器更換證書後jira無法訪問Confluence處理
問題
jira 和 Confluence是用docker搭在一臺服務器上的,更換證書後jira無法訪問Confluence, 如果所示(jira的忘截圖了,這個是Confluence的一樣的報錯)
原因:因爲Java環境(Jira運行在Java上)不信任你的證書,尤其是如果它是自簽名的或由不在Java默認信任的CA列表中的CA簽發的。
解決辦法
當你在Docker部署的Jira中配置連接到Confluence的鏈接時遇到SSL證書問題,即使瀏覽器認爲證書是有效的,仍可能會出現證書錯誤。這通常是因爲Java環境(Jira運行在Java上)不信任你的證書,尤其是如果它是自簽名的或由不在Java默認信任的CA列表中的CA簽發的。解決這種問題,你可以通過以下步驟來手動將Confluence的證書添加到Jira Docker容器的Java信任存儲中:
1. 從Confluence服務器導出證書
首先,你需要從Confluence服務器上導出SSL證書。這可以通過使用openssl
命令從命令行完成:
openssl s_client -connect your-confluence-domain.com:443 -showcerts </dev/null 2>/dev/null | openssl x509 -outform PEM > confluence_cert.pem
將your-confluence-domain.com
替換爲你的Confluence實際的域名。
2. 將證書添加到Jira Docker容器的Java信任存儲
然後,你需要將導出的證書添加到運行Jira的Docker容器中Java的信任存儲庫。首先,你需要找到Jira容器的ID或名稱:
docker ps
接着,將證書複製到Docker容器中:
docker cp confluence_cert.pem <container_id>:/tmp
使用容器的ID或名稱替換<container_id>
。
接下來,進入容器:
docker exec -it <container_id> /bin/bash
一旦進入容器,使用keytool
命令將證書導入到Java的信任存儲:
keytool -import -alias confluenceCert -keystore $JAVA_HOME/lib/security/cacerts -file /tmp/confluence_cert.pem -storepass changeit
這裏changeit
是默認的密鑰庫密碼,如果你更改了,需要使用你的密碼。
3. 重啓Jira容器
完成後,退出容器並重啓Jira容器以使更改生效:
docker restart <container_id>
4. 測試連接
重新啓動後,再次嘗試配置Jira和Confluence的集成,以檢查證書問題是否已解決。
這些步驟應該幫助你解決Jira連接到Confluence時遇到的SSL證書錯誤。如果問題仍然存在,確保你導出的是正確的證書,並且正確地添加到了Java的信任存儲庫中。