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

Как правильно включить SSL на экземпляре ubuntu apache2 ec2?

Я настроил сервер ubuntu (14.04.2) apache2 (2.4.7) для SSL, но сертификат, похоже, не найден. Ubuntu работает на экземпляре EC2 со статическим IP-адресом, активированным портом 443 и доменным именем theaudioserver.com с записью DNS для этого статического IP-адреса. Вот как я настроил свой сервер:

    SSLStaplingCache shmcb:/tmp/stapling_cache(128000) <VirtualHost *:443>
    SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH SSLProtocol All -SSLv2 -SSLv3 SSLHonorCipherOrder On Header always set
    Strict-Transport-Security "max-age=63072000; includeSubdomains;
    preload" Header always set X-Frame-Options DENY Header always set
    X-Content-Type-Options nosniff
    SSLCompression off SSLUseStapling on
    ServerName theaudioserver.com
    SSLEngine on
    SSLCertificateFile /home/ubuntu/certs/server.crt
    SSLCertificateKeyFile /home/ubuntu/certs/privatekey.pem
    SSLCertificateChainFile /home/ubuntu/certs/server_bundle.crt

    DocumentRoot /var/www/html/
</VirtualHost>

Но когда я тестирую свой домен, кажется, что сертификат не найден.

На ssllabs.com я получаю No SSL certificates were found on theaudioserver.com. Make sure that the name resolves to the correct server and that the SSL port (default is 443) is open on your server's firewall.

При доступе к серверу через https://52.24.39.220, Я получаю сообщение об ошибке несоответствия имени, так как я не получаю доступ через доменное имя, но это показывает, что брандмауэр сервера на EC2 настроен правильно.

Что я здесь делаю не так?

У меня вообще нет подключения к вашему серверу через порт 443, это похоже на проблему с брандмауэром. Вы открыли порт 443 в брандмауэре группы безопасности EC2. Вы открыли его в брандмауэре вашего хоста?


Обновить;

Ваш DNS настроен неправильно

dig +short theaudioserver.com
52.25.39.220

В то время как вы говорите, что можете подключиться через 52.24.39.220.

Использовать .htaccess файл в корневом каталоге вашего веб-сайта для перенаправления запросов, поступающих через незащищенный порт, на защищенный порт, то есть http: // -> https: //

Файл должен содержать что-то вроде этого:

RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

Вам нужно будет отредактировать default в sites-available содержать:

DocumentRoot /var/www/html
<Directory />
    Options FollowSymLinks
    AllowOverride All
</Directory>
<Directory /var/www/html>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

Это позволяет .htaccess для работы с этим каталогом и всеми содержащимися каталогами, а значит, и всем вашим сайтом.