具有自动子域名转发的通配符SSL证书

我有一个服务器,作为服务的一部分,用户被赋予他们自己的个性化子域名,即username.servicename.com。 在每次发生这种情况时生成个性化的虚拟主机条目并不是特别可行,所以我在Apache中使用了一个通配符虚拟主机文件。 这很好。

我现在试图让SSL工作。 我有一个名为* .servicename.com的通配符SSL证书,所以我想我正在做我应该做的事情。 但是…不起作用。 HTTP请求仍然正常工作,HTTPS请求超时,并且日志中没有任何内容。 我的configuration有什么问题?

NameVirtualHost *:80 NameVirtualHost *:443 DirectoryIndex index.htm index.html index.php <VirtualHost *:80> ServerName servicename.com ServerAlias *.servicename.com #wildcard catch all VirtualDocumentRoot /var/www/%1 UseCanonicalName Off IndexOptions FancyIndexing ### Use mod_rewrite to direct servicename.com to www. RewriteEngine On RewriteCond %{HTTP_HOST} ^servicename.com RewriteRule (.*) http://www.%{HTTP_HOST}$1 [R=301,L] ### Logging LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined CustomLog /var/log/apache2/access_log_servicename combined <Directory /var/www> Options FollowSymLinks Indexes MultiViews AllowOverride All Order allow,deny allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> <VirtualHost *:443> ServerName servicename.com ServerAlias *.servicename.com VirtualDocumentRoot /var/www/%1 UseCanonicalName Off IndexOptions FancyIndexing ### Use mod_rewrite to direct servicename.com to www. RewriteEngine On RewriteCond %{HTTP_HOST} ^servicename.com RewriteRule (.*) https://www.%{HTTP_HOST}$1 [R=301,L] ### Logging LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined CustomLog /var/log/apache2/access_log_servicename combined SSLEngine on SSLProtocol all SSLCertificateFile /etc/apache2/servicename.com.certificate SSLCertificateKeyFile /etc/apache2/servicename.com.key SSLCACertificateFile /etc/apache2/rapidssl.intermediateca <Directory /var/www> Options FollowSymLinks Indexes MultiViews AllowOverride All Order allow,deny allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error-ssl.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> 

看到由于错误的configuration而导致Apache请求超时的请求是很奇怪的。

当一个连接超时,往往是一个networking或防火墙的问题。 例如,如果防火墙configuration为不允许该端口上的stream量,并且丢弃这些数据包,则连接将超时。

看看你的设置中涉及的所有防火墙,这意味着你的本地networking传出规则,服务器networking传入规则和服务器本身的iptables规则。