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

Попытка настроить SSL с Apache в Ubuntu 14.04

Я приобрел сертификат SSL на namecheap.com. Я пытаюсь установить его на сервер под управлением Ubuntu 14.04 и Apache. Я использовал следующий учебник для настройки Apache https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-14-04-lts. На сервере есть уже существующий сайт, работающий только по HTTP.

Сайт использует два поддомена admin.example.com и api.example.com, поэтому я купил подстановочный сертификат.

Я установил сертификаты в соответствии с центром сертификации и изменил конфигурацию Apache example.com.conf, чтобы добавить виртуальный хост SSL, я все еще хочу, чтобы страницы без HTTPS работали, поэтому я оставил существующую конфигурацию порта 80 и добавил новый конфигурация хоста виртуального хоста ниже.

Я перезапустил Apache и попытался просмотреть страницу через https, но получил следующий код ошибки от firefox (Error code: ssl_error_rx_record_too_long)

Я безуспешно пробовал исправления, упомянутые в этом посте https://www.digicert.com/ssl-support/apache-fix-common-ssl-errors.htm#SSLRecordLength

Я также проверил, открыт ли порт 443 в брандмауэре.

Конфигурация Apache

<VirtualHost *:80>
    ServerAdmin admin@example.com
    ServerName example.com
    ServerAlias www.example.com api.example.com admin.example.com

    DocumentRoot /var/www/example.com/public/

    <Directory "/var/www/example.com/public/">
            Options Indexes FollowSymLinks
            AllowOverride None
            Order deny,allow
            Allow from all
            Satisfy all

            IndexIgnore */*
            RewriteEngine on
            # if a directory or a file exists, use it directly
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteCond %{REQUEST_FILENAME} !-d

            # otherwise forward it to index.php
            RewriteRule . index.php
    </Directory>

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    #ErrorLog "/var/www/example.com/protected/runtime/apache-error.log"
    #CustomLog "/var/www/example.com/protected/runtime/access.log" common

</VirtualHost>

<VirtualHost *:433>

#SSL certificate
        SSLEngine On
        SSLCertificateFile /etc/apache2/ssl/STAR.example.com.crt
        SSLCertificateKeyFile /etc/apache2/ssl/*.example.com.key
        SSLCACertificateFile /etc/apache2/ssl/STAR.example.com.ca-bundle.crt

    ServerAdmin admin@example.com
    ServerName example.com
    ServerAlias www.example.com api.example.com admin.example.com

    DocumentRoot /var/www/example.com/public/

    <Directory "/var/www/example.com/public/">
            Options Indexes FollowSymLinks
            AllowOverride None
            Order deny,allow
            Allow from all
            Satisfy all

            IndexIgnore */*
            RewriteEngine on
            # if a directory or a file exists, use it directly
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteCond %{REQUEST_FILENAME} !-d

            # otherwise forward it to index.php
            RewriteRule . index.php
    </Directory>

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    ErrorLog "/var/www/example.com/protected/runtime/apache-error.log"
    CustomLog "/var/www/example.com/protected/runtime/access.log" combined

</VirtualHost>

Детали Apache

$ apache2 -v
Server version: Apache/2.4.7 (Ubuntu)
Server built:   Jul 22 2014 14:36:38

Ну вот твоя проблема:

<VirtualHost *:433>

Измените это на 443.