反饋已提交
網絡繁忙
本文為第三方解決方案或非產品相關操作指南,僅提供給具備自主開發能力的使用者使用。
若您的場景方案與文檔不完全一致,請移步帆軟社群提問:問答
本文僅面向非維運平台部署的工程,對於維運平台部署的工程,請參考:為維運專案開啟SSL
啟動 HTTPS 協定需要使用有效的 SSL 憑證,憑證中包含的身分驗證資訊可幫助使用者進行加密通訊。
在單點登入認證系統中,憑證是很重要的一把鑰匙,用戶端與伺服器的交互安全靠的就是憑證。
本文僅介紹CentOS系統下Tomcat如何安裝SSL憑證,以滿足HTTPS存取的訴求。其他環境建議諮詢你的憑證籤發機構進行安裝。
在配置憑證前,首先需要申請憑證。
使用者需自行向 CA 廠商購買憑證,憑證認證一般都是由 VeriSign、GlobalSign 等國際公認的 CA 機構進行。
注:對於正式環境,不可使用 JDK 自帶的 keytool 工具生成憑證,會出現不安全提醒,導致工程嵌入第三方平台後無法存取。
1)以管理者身分進入Tomcat安裝目錄,建立cert資料夾。
2)以管理者身分進入%Tomcat_HOME%/cert資料夾,將憑證檔案上傳到該資料夾。
注1:不同廠商的憑證格式不完全相同,不一定和下圖檔案格式相同。
注2:如有金鑰檔案,請也同步上傳到該位置。
1)以管理者身分進入%TOMCAT_HOME%/conf資料夾,使用正文編輯器開啟server.xml檔案。
2)在server.xml檔案中,找到以下配置塊:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
在該配置塊上方新增以下配置塊,請根據你的憑證地址、憑證格式和密碼,修改keystoreFile、keystoreType和keystorePass:
keystoreFile 支援填寫絕對路徑或在 Tomcat 中的相對路徑。
Connector port為你後續存取時所佔的埠,請確定埠防火牆已開放,可正常存取。 如希望在存取時不新增埠,直接透過域名存取,請使用 HTTPS 的預設埠 443 。
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" keystoreFile="/path/to/your/keystore/file" keystorePass="your_keystore_password" clientAuth="false" sslProtocol="TLS" />
注1:不建議直接複製貼上上文程式碼,可自行找尋檔案中該配置庫,去除相關程式碼註釋,並修改憑證說明即可。
注2:上文程式碼範例中,憑證格式為.pfx格式。若憑證格式為.crt,需要微調程式碼,範例如下:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https"> <SSLHostConfig sslProtocol="TLS"> <Certificate certificateFile="/opt/ssl_file/server.crt" certificateKeyFile="/opt/ssl_file/server.key" certificateChainFile="/opt/ssl_file/root.crt" type="RSA"/></SSLHostConfig></Connector>
3)儲存並關閉server.xml檔案
如需配置HTTP請求自動跳轉HTTPS,可執行本節操作。
1)以管理者身分進入%TOMCAT_HOME%/conf資料夾,使用正文編輯器開啟web.xml檔案。
2)在web.xml檔案中,確認存在以下配置塊,並確認<transport-guarantee>標籤的值為CONFIDENTIAL即可:
<security-constraint> <web-resource-collection> <web-resource-name>Protected Context</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint></security-constraint>
3)儲存並關閉web.xml檔案。
請參考 關閉或重啟FineReport工程 文檔,重啟Tomcat伺服器,以使配置生效。
使用瀏覽器存取https://your_domain:port,確定能夠成功存取,如果網頁地址欄出現小鎖標籤,表示憑證已經安裝成功。
your_domain是你的域名或IP地址。
埠為2.3節配置的Connector port。
Tomcat 配置 SSL 憑證實現 HTTPS 存取後,若要保證 Websocket 連結正常,需要配置 HTTPS 設定。
請先使用管理者帳號登入數據決策系統,查看「管理系統>系統管理>標準」中是否出現 HTTPS 設定項。
不出現:說明 Websocket 連結已正確配置,無需修改。
出現:說明 Websocket 連結未正常配置,請參考文檔修改:HTTPS配置WebSocket
問題描述
設計器 遠端連結 https 工程失敗。
報錯:invalid keystore format
原因分析
配置的 https 工程,憑證格式為 PKCS12 ,但設計器用戶端目前僅支援預設格式 jks 。
解決方案
在Tomcat資料夾下面建立一個key資料夾,將jks檔案格式的server.keystore放在裏面。
遠端連結的時候選擇key資料夾的server.keystore。
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙