2016-10-23 311 views
0

我是ssl证书和安装在apache上的新手。 我有以下的虚拟主机设置Apache - 安装SSL证书

<VirtualHost *:443> 
    ServerName www.beta.mysite.com 
    SSLEngine on 
    SSLCertificateFile /home/ec2-user/sslCerts/beta_mysite_com.crt 
    SSLCertificateKeyFile /home/ec2-user/sslCerts/mySite.key 
    ProxyPass/http://localhost:3000/ 
    ProxyPassReverse/http://localhost:3000/ 
</VirtualHost> 

所有路径的证书是有效 当我运行Apache启动命令我碰到下面的错误

Starting httpd: [Sun Oct 23 12:34:37 2016] [warn] _default_ VirtualHost overlap on port 443, the first has precedence 

而且 - 我ssl_error.log文件显示以下错误

[Sun Oct 23 12:34:37 2016] [warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?) 
[Sun Oct 23 12:34:37 2016] [warn] RSA server certificate CommonName (CN) `ip-172-55-16-165' does NOT match server name!? 
[Sun Oct 23 12:34:37 2016] [warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?) 
[Sun Oct 23 12:34:37 2016] [warn] RSA server certificate CommonName (CN) `ip-172-55-16-165' does NOT match server name!? 

任何想法我需要做什么才能正确获得ssl安装?

+1

基本上,你有2 VHOST配置端口443 – hjpotter92

回答

1

当然有两台虚拟主机配置为使用port 443。请确认并检查您运行的Apache服务器是否启用了SNI。意味着,一个IP一端口可用于配置多个URL和SSL证书。如果是,则提及确切的网址在虚拟主机像一个如下:

VirtualHost mysite1.abc.com:443 
VirtualHost mysite2.abc.com:443 

你提到的第二个错误指​​出,基于IP的SSL证书已经绑定到一个基于域的网站。我不确定哪个虚拟主机使用基于IP的SSL。您可以运行以下命令来检查证书内容:

openssl x509 -inform pem -in cerfile.cer -noout -text. 

一旦找到了使用的虚拟主机,请将证书替换为您从CA购买的证书。

1

@ hjpotter92是正确的 - 有2个虚拟主机的配置

当我运行以下命令 百胜安装了mod_ssl OpenSSL的

它生成的文件的ssl.conf 文件conf.d端口443 conf/httpd.conf中我还有一个用于端口443的虚拟主机 我删除了conf/httpd.conf中的虚拟主机,并在conf.d/ssl.conf中配置了虚拟主机,现在所有主机都正常工作