簡體   English   中英

SSL:無法加載CA證書文件/etc/pki/tls/certs/ca-bundle.crt

[英]SSL: can't load CA certificate file /etc/pki/tls/certs/ca-bundle.crt

在我的本地開發機(osx)上,我正在使用jboss在8443上為Web服務提供服務器。當我直接點擊url時,會得到我正在尋找的json響應。 我們正在使用的體系結構包括執行身份驗證和路由的中間層(apache / php)。 如果事情進行了身份驗證,那么它將請求轉發到后端。

當我在端口80上使用apache和在8081上使用jboss時(使用http)。 一切對我來說都很好。 現在,我正在嘗試使用8443,因此一切正常。

我最近將后端通過https(8443)而不是http(8081)更改為服務器。 我可以直接點擊https 8443上的請求並獲取json響應。 當我點擊apache並進行身份驗證然后嘗試重定向到https 8443時,我從chrome的檢查器收到以下消息:“ SSL:無法加載CA證書文件/etc/pki/tls/certs/ca-bundle.crt”。

在此處輸入圖片說明

我的虛擬主機設置為捕獲*:80請求。 我認為我可能需要設置虛擬主機以接受443個請求或安裝ca-certificates在嘗試訪問HTTPS URL時如何使用cURL處理證書中所述。 我正在尋找是否有人知道正確的方向。

當我查看文件系統時,文件/etc/pki/tls/certs/ca-bundle.crt不存在。 當我向中間層發出請求時,我看到該請求命中了/var/log/apache2/access_log ,在/var/log/apache2/error_log什么也沒有出現。

解決此問題需要什么? 是否是虛擬主機的配置以捕獲對443的請求? 是否要像鏈接中那樣安裝ca-cert的東西? 兩者結合? 或者是其他東西? 請提供有關如何解決問題的足夠信息,或提供提供足夠信息的鏈接。

我已經解決了我的問題,並准備發布以供參考,以防其他人遇到類似問題。 我必須解決幾個問題才能解決此問題。

PHP安裝

我的/etc/apache2/httpd.conf引用了我的默認osx php安裝,而不是我的home brew安裝php。 解決方法是編輯httpd.conf並將其指向正確的安裝。

#LoadModule php5_module /usr/local/opt/php53/libexec/apache2/libphp5.so
LoadModule php5_module /usr/local/Cellar/php53/5.3.29_4/libexec/apache2/libphp5.so

您可以通過以下命令使用home brew創建類似的php設置:

brew install homebrew/php/php53
brew install homebrew/php/php53-igbinary --build-from-source
brew install homebrew/php/php53-intl
brew install homebrew/php/php53-mcrypt
brew install homebrew/php/php53-memcached
brew install homebrew/php/php53-mongo
brew install homebrew/php/php53-xdebug

創建CA Cert Bundle文件

系統正在尋找/etc/pki/tls/certs/ca-bundle.cert ,這是Linux上的標准路徑,而不是osx上的標准路徑。 我們通過生成文件來解決這個問題。

我使用keytool生成了.keystore文件,並使用jboss作為別名。 為了構建ca bundle文件,我們需要它采用pem格式,因此我們需要將-rfc添加到我們的export語句中。 以下是命令:

cd /usr/local/jboss-eap-6.4/standalone/configuration
keytool -export -alias jboss -file local-sbx.dev.yourcompany.com.crt -keystore .keystore -rfc

擁有文件后,您可以將其分類,並驗證文件中是否包含BEGIN CERTIFICATEEND CERTIFICATE 如果是這樣,則其格式正確。

最后,創建目錄結構,移動證書使其像捆綁包一樣(只是一堆相互附加的證書),然后重新啟動apache:

mkdir -p /etc/pki/tls/certs/
sudo cp local-sbx.dev.yourcompany.com.crt /etc/pki/tls/certs/ca-bundle.crt
sudo apachectl restart

暫無
暫無

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

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