Ubuntu

Apache2 伺服器應該支持 SSL,但沒有配置證書H我nt:S小號LC_ertificateF我__H一世n噸:小號小號大號C和r噸一世F一世C一種噸和F一世l和Hint: SSLCertificateFile用於萬用字元 SSL 證書

  • July 24, 2015

我正在嘗試在 Apache Web 伺服器上配置 Godaddy 萬用字元證書。我收到以下錯誤:

[Thu Jul 23 02:32:42.499991 2015] [mpm_event:notice] [pid 12293:tid 140626762094464] AH00491: caught SIGTERM, shutting down
[Thu Jul 23 02:32:43.553475 2015] [ssl:emerg] [pid 12529:tid 139774360311680] AH02240: Server should be SSL-aware but has no certificate configured [Hint: SSLCertificateFile] (/etc/apache2/sites-enabled/godaddy-ssl.conf:2)
[Thu Jul 23 02:32:43.553518 2015] [ssl:emerg] [pid 12529:tid 139774360311680] AH02311: Fatal error initialising mod_ssl, exiting. See /var/log/apache2/error.log for more information
[Thu Jul 23 02:35:23.466577 2015] [mpm_event:notice] [pid 12707:tid 139928471259008] AH00489: Apache/2.4.7 (Ubuntu) OpenSSL/1.0.1f configured -- resuming normal operations
[Thu Jul 23 02:35:23.466637 2015] [core:notice] [pid 12707:tid 139928471259008] AH00094: Command line: '/usr/sbin/apache2'

我的 apache 伺服器配置,將 http 請求重定向到 https:

<VirtualHost *:80>

   ServerName saasm2m.com

  ServerAlias saasm2m.com *.saasm2m.com 
   ServerAdmin helloworld@gmail.com
    RewriteEngine on
    ReWriteCond %{SERVER_PORT} !^443$
   RewriteRule ^/?(.*) https://%{HTTP_HOST}/$1 [NC,R,L]
</VirtualHost>

我的 SSL 證書配置是

<IfModule mod_ssl.c>
   <VirtualHost *:443>
       ServerAdmin saasm2m.com
       ServerName saasm2m.com
       ServerAlias *.saasm2m.com
       DocumentRoot /var/www/html
       ErrorLog ${APACHE_LOG_DIR}/error.log
       CustomLog ${APACHE_LOG_DIR}/access.log combined
       SSLEngine on

       SSLCACertificateFile /etc/apache2/ssl/saasm2m.chained.crt
       SSLCertificateKeyFile /etc/apache2/ssl/saasm2m.key
        ServerAdmin helloworld@gmail.com
       ProxyPass / http://localhost:8080/
       ProxyPassReverse / http://localhost:8080/
       ProxyPreserveHost On

       <FilesMatch "\.(cgi|shtml|phtml|php)$">
                       SSLOptions +StdEnvVars
       </FilesMatch>
       <Directory /usr/lib/cgi-bin>
                       SSLOptions +StdEnvVars
       </Directory>
       BrowserMatch "MSIE [2-6]" \
                       nokeepalive ssl-unclean-shutdown \
                       downgrade-1.0 force-response-1.0
       BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
   </VirtualHost>
</IfModule>

我已更改我的 ports.conf 以添加 Listen 443 http

Listen 80

NameVirtualHost *:80
<IfModule ssl_module>
       Listen  443 http
</IfModule>

<IfModule mod_gnutls.c>
       Listen  443
</IfModule>

更新:如果我使用此配置,它會引發錯誤:AH00491:擷取 SIGTERM,正在關閉

SSLCertificateFile /etc/apache2/ssl/6eba0aa5c1b8.crt
SSLCertificateKeyFile /etc/apache2/ssl/website_ssl.key
SSLCertificateChainFile /etc/apache2/ssl/gd_bundle-g2-g1.crt   

我通過使用:sudo a2enmod ssl 啟用了 ssl 模組,並通過使用 sudo a2ensite 文件名啟動了伺服器配置文件。誰能指出我如何解決這個錯誤?

謝謝

SSLCertificateFile除了SSLCertificateKeyFile配置文件之外,您還需要提供配置行。

您已為 CA 證書配置了兩個選項之一。你可能也不需要。這可以使用應該是SSLCertificateFile

GoDaddy 提供有關安裝證書的文件。 據此 gd_bundle-g2-g1.crt 應配置SSLCACertificatePath參數。該參數SSLCertificateChainFile在 Apache 2.4.8 之前的版本中被呼叫。

引用自:https://serverfault.com/questions/707825