apache配置https,ssl.conf 配置完後重啓失敗

申請並下載ssl證書配置到apache之後,apache啓動失敗

本文記錄一下遇到的坑,並不是技術問題。

  • 前言
  • 解決

前言

開發微信小程序 需要用https,所以去申請了一個免費得ssl證書。本人是在七牛申請的,其他阿里雲 、騰訊雲等也有地方申請免費證書。申請很快,幾分鐘-幾十分鐘搞定。下載的時候 ,提示對應的版本。有nginx,apache,tomcat和SLB等版本。之前一直是配置nginx,下載nginx版本,所以沒遇到問題。這次服務器用了apache,下載了apache版本。裏面有三個文件,分別是域名.key,域名.cer,域名.crt。

照着教程,網上說的,加載了openssl和mod_ssl。然後可以訪問https,但是提示證書無效。然後再ssl.conf裏修改
|#SSLCertificateFile /etc/pki/tls/certs/localhost.crt |
|#SSLCertificateKeyFile /etc/pki/tls/private/localhost.key |
|#SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt|
這三處,把文件指定到下載下來的三個。結果重啓不起來了。
- apache2.4.6默認前面兩個是打開的。也就是說只用了前面兩個。
試了用apache下載下來,三個全改還是改兩個,都不行。
重啓apache就提示如下
[root]# service httpd restart
Redirecting to /bin/systemctl restart httpd.service
Job for httpd.service failed. See ‘systemctl status httpd.service’ and ‘journalctl -xn’ for details.
查看這個狀態,裏面提示如下
AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1. Set the ‘ServerName’ directive globally to suppress this message
然後httpd -t查看的錯誤,也是這個。
其實這個錯誤只要在httpd.conf 配置ServerName localhost:443;
就能解決。但這並不是重啓失敗的根本原因。
最後終於在ssl_error_log文件發現了蛛絲馬跡,提示如下
SSL Library Error: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch
這意思是 證書的值不匹配。簡單的來說,我們的下載的證書不對。

解決

我是回去下載了nginx版本的證書。然後nginx裏面是隻有兩個文件的。分別是 域名.crt和 域名.key。我把這兩個分別配置在
|#SSLCertificateFile /etc/pki/tls/certs/localhost.crt |
|#SSLCertificateKeyFile /etc/pki/tls/private/localhost.key |
這兩個裏,重啓成功了。具體原因是怎麼回事,還是沒弄清楚。估計是版本問題吧。反正解決是這麼解決了。想着以後就直接下nginx版本就行了。如果要指定項目https的話可以再配置VirtualHost,這裏配置是全部都會走。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章