Я настроил сервер ubuntu (14.04.2) apache2 (2.4.7) для SSL, но сертификат, похоже, не поддерживает быть найденным. Ubuntu работает на экземпляре EC2 со статическим IP-адресом, активированным портом 443 и доменным именем theaudioserver.com с записью DNS для этого статического IP-адреса. Вот как я настроил свой сервер: SSLCipherSuite EECDH + AESGCM: EDH + AESGCM: AES256 + EECDH: AES256 + EDH SSLProtocol All -SSLv2 -SSLv3 SSLHonorCipherOrder On Header всегда установлен Строгая безопасность транспорта "max-age = 63072000; includeSubdomains; preload "Заголовок всегда установлен X-Frame-Options ЗАПРЕТ Заголовок всегда установлен X-Content-Type-Options nosniff SSLCompression выключен SSLUseStapling включен Имя сервера theaudioserver.com SSLEngine включен SSLCertificateFile /home/ubuntu/certs/server.crt SSLCertificateKeyFile /home/ubuntu/certs/privatekey.pem SSLCertificateChainFile /home/ubuntu/certs/server_bundle.crt DocumentRoot / var / www / html /
sudo a2enmod ssl
sudo netstat -anp | grep apache
дает: tcp6 0 0 ::: 443 ::: * LISTEN 3138 / apache2
Но когда я тестирую свой домен, кажется, что сертификат не найден.
На ssllabs.com я получаю На theaudioserver.com не обнаружены сертификаты SSL. Убедитесь, что имя соответствует правильному серверу и что порт SSL (по умолчанию 443) открыт на брандмауэре вашего сервера
.
При доступе к серверу через 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
в сайтах-доступных
, чтобы они содержали:
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
работать с этим каталогом и всеми содержащимися каталогами, отсюда и весь ваш сайт.