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

Не удается заставить работать самоподписанный сертификат SSL

Я получаю сообщение об ошибке «Не удается подключиться», когда пытаюсь загрузить https-версию веб-сайта в Firefox.

В файле журнала нет сообщения об ошибке, только:

[Thu Dec 09 16:55:24 2010] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
[Thu Dec 09 16:55:25 2010] [notice] Digest: generating secret for digest authentication ...
[Thu Dec 09 16:55:25 2010] [notice] Digest: done
[Thu Dec 09 16:55:26 2010] [notice] Apache/2.2.16 (FreeBSD) mod_ssl/2.2.16 OpenSSL/0.9.8n DAV/2 PHP/5.3.3 with Suhosin-Patch configured -- resuming normal operations

Я следовал этому руководству: http://www.akadia.com/services/ssh_test_certificate.html

Мой файл конфигурации выглядит так:

<Directory "/usr/local/www/apache22/data">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.2/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride All

    #
    # Controls who can get stuff from this server.
    #
    Order allow,deny
    Allow from all
</Directory>

NameVirtualHost *:443
<VirtualHost *:443>
    DocumentRoot "/usr/local/www/apache22/data"

    ServerName "domain.name"

    SSLEngine on
    SSLCertificateFile /some-folder/ssl-key/server.crt
    SSLCertificateKeyFile /some-folder/ssl-key/server.key

    CustomLog "/some-folder/log/httpd-ssl_request.log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>

NameVirtualHost *:80
<VirtualHost *:80>
    DocumentRoot "/usr/local/www/apache22/data"

    ServerName "domain.name"
</VirtualHost>

(Отредактировано небольшое количество, но вы сможете увидеть, что я сделал правильно / неправильно ...)

Apache не прослушивает порт 443 (порт, используемый для связи SSL) по умолчанию (насколько мне известно). Итак, чтобы иметь возможность подключиться к недавно настроенному серверу SSL, вам необходимо включить в конфигурацию следующую строку:

Listen 443

Настройка виртуального хоста не заставляет сервер автоматически прослушивать порт, указанный в конфигурации.