簡體   English   中英

Tomcat/TomEE SSL 配置與 Cloudflare

[英]Tomcat/TomEE SSL config with Cloudflare

我在使用 cloudflare 提供的 SSL 配置 tomee 的正確方法方面遇到問題。 第一次這樣做,所以情況如下:

1)首先我創建密鑰庫文件:

keytool -keysize 2048 -genkey -alias tomee -keyalg RSA -keystore tomee.keystore

2)然后我導入生成的密鑰庫:

keytool -importkeystore -srckeystore tomee.keystore -destkeystore tomee.keystore -deststoretype pkcs12

3) 導入后,我創建用於發出證書請求的 CSR 文件:

keytool -certreq -keyalg RSA -alias tomee -file FQDN.csr -keystore tomee.keystore

4)然后我 go 進入 cloudflare > ssl/tls > 源服務器 > 創建證書 > select “我有自己的私鑰和 csr” > 然后我將 FDQN.csr 內容粘貼到文本區域 > 單擊下一步 > 最后我收到我在服務器上保存為 FQDN.pem 的 PEM 內容

5) 將 FQDN.pem 作為可信證書導入密鑰庫:

keytool -import -alias tomee -keystore tomee.keystore -trustcacerts -file FQDN.pem

6) 將tomee.keystore 文件復制到tomee conf 目錄中

7) 最后,我為 tomee 配置 server.xml,如下所示:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" SSLEnabled="true" 
            compression="on"  scheme="https" secure="true" keystoreFile="conf/tomee.keystore"
            keystorePass="myPasswordHere"
            SSLVerifyClient="none" SSLProtocol="TLSv1.2"
/>

8)在這里我遇到了問題:重新啟動tomcat並通過端口8443發出請求。它可以工作,但證書顯示為無效。 查看證書,我得到:“此 CA 根證書不受信任,因為它不在受信任的根證書頒發機構存儲中。”

如我所見,通過 此處的文檔-添加 Cloudflare Origin CA 根證書,我可能需要使用提供的文件添加其他配置。 我理解正確還是我錯過了什么? 如果是這樣 - 這些配置會是什么樣子? 我是否應該像 server.xml 文件中演示的格式那樣做一些事情,就像這樣:(或者那是完全不同的事情?)

<Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
           maxThreads="150" SSLEnabled="true" >
    <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" xpoweredBy="false" server="Apache TomEE" />
    <SSLHostConfig>
        <Certificate certificateKeyFile="conf/localhost-rsa-key.pem"
                     certificateFile="conf/localhost-rsa-cert.pem"
                     certificateChainFile="conf/localhost-rsa-chain.pem"
                     type="RSA" />
    </SSLHostConfig>
</Connector>

有趣的是,網上沒有太多關於此的信息,而且我這幾天一直在努力理解這個問題。 對此的任何啟示都會有所幫助。

向在此處發布類似主題的人表示敬意

設法解決它。 對於任何感興趣的人,有兩個問題:

1) 在為 tomcat/tomee 網絡服務器執行步驟 5) 之前,您需要添加一個受信任的根證書,其中 cloudflare 提供的密鑰來自HERE(在 Cloudflare SSL/TLS 應用程序中配置 SSL/TLS 模式)

keytool -import -alias root -keystore tomee.keystore -trustcacerts -file origin_ca_rsa_root.pem

然后將您的別名 rsa 添加到密鑰庫,如 5)。

2) 其他問題是 cloudflare DNS 設置上的 CN 配置被忽略,因此請檢查您的配置。

希望這對某人有幫助:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM