繁体   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