2016-10-23 365 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中配置了虛擬主機,現在所有主機都正常工作