Ssl – https timeout while http works

apache-2.2httpsssltimeout

I've set up SSL for my domain and it works from Apache perspective.

The problem is that accessing my domain over HTTPS sometimes results in timeouts. When it doesn't work, it takes some time to access my website over HTTP but it never times out.

Why does this happen for HTTPS and is there a way to control timeout time for HTTPS?

My configuration: Apache 2.2.11 on 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>

EDIT

It's a self-signed certificate.
When visiting my domain works, it results in a SSL warning saying that the certificate is not trusted but accepting it lets me see the website over HTTPS.

Best Answer

I found the cause of this problem.

Port 443 was closed in my firewall configuration. It worked sometimes because my IP was added to firewall as a safe one. That's why it did not work for other IPs.

All I had to do is open port 443 in firewall and it works just fine :)