Назад | Перейти на главную страницу

Сервер Apache2 должен поддерживать SSL, но не имеет настроенного сертификата [Hint: SSLCertificateFile] для SSL-сертификата с подстановочными знаками.

Я пытаюсь настроить сертификаты Godaddy Wild Card на веб-сервере Apache и получаю следующую ошибку:

[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   

Я включил ssl-модуль с помощью: sudo a2enmod ssl и активировал файлы конфигурации сервера с помощью sudo a2ensite filename. Может ли кто-нибудь указать, как я могу исправить эту ошибку?

Спасибо

Вам необходимо предоставить SSLCertificateFile строка конфигурации в дополнение к SSLCertificateKeyFile Файл конфигурации.

Вы настроили один из двух вариантов сертификатов CA. Вам тоже может не понадобиться. Это можно настроить с помощью файла, который должен быть SSLCertificateFile

GoDaddy предоставляет документацию по iустановка ваших сертификатов. В соответствии с этим gd_bundle-g2-g1.crt должен быть настроен с SSLCACertificatePath параметр. Этот параметр называется SSLCertificateChainFile в версиях Apache до 2.4.8.