Я установил SSL для своего домена, и он работает с точки зрения Apache.
Проблема в том, что доступ к моему домену через HTTPS иногда приводит к тайм-аутам. Когда это не работает, для доступа к моему веб-сайту через HTTP требуется некоторое время, но время ожидания никогда не истекает.
Почему это происходит для HTTPS и есть ли способ контролировать время ожидания для HTTPS?
Моя конфигурация: Apache 2.2.11 на CentOS 5
NameVirtualHost *:443
<VirtualHost *:443>
SuexecUserGroup foo
DocumentRoot /home/mydomain/www/
ServerName example.com
SSLEngine on
SSLProtocol -all +TLSv1 +SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM
SSLCertificateFile /path/example.com.com.crt
SSLCertificateKeyFile /path/example.com.key
SSLVerifyClient none
SSLProxyVerify none
SSLVerifyDepth 0
SSLProxyVerifyDepth 0
SSLProxyEngine off
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
<Directory "/home/mydomain/www">
SSLRequireSSL
AllowOverride all
Options +FollowSymLinks +ExecCGI -Indexes
AddHandler php5-fastcgi .php
Action php5-fastcgi /cgi-bin/a.fcgi
Order allow,deny
Allow from all
</Directory>
<Directory "/var/suexec/mydomain.com">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
РЕДАКТИРОВАТЬ
Это самозаверяющий сертификат.
Когда посещение моего домена работает, это приводит к предупреждению SSL о том, что сертификат не является доверенным, но его принятие позволяет мне видеть веб-сайт через HTTPS.
Я нашел причину этой проблемы.
Порт 443 был закрыт в моей конфигурации брандмауэра. Иногда это срабатывало, потому что мой IP был добавлен в брандмауэр как безопасный. Вот почему это не сработало для других IP-адресов.
Все, что мне нужно было сделать, это открыть порт 443 в брандмауэре, и он отлично работает :)
Попробуйте проверить установку SSL по адресу http://www.sslshopper.com/ssl-checker.html. Возможно, удастся найти проблему.