У меня есть сервер, на котором в рамках службы пользователям предоставляется собственный персонализированный поддомен, то есть username.servicename.com. Невозможно создавать персонализированные записи vhost каждый раз, когда это происходит, поэтому я использовал файл виртуального хоста с подстановочными знаками в Apache. Это прекрасно работает.
Я сейчас пытаюсь заставить SSL работать над этим. У меня есть подстановочный SSL-сертификат с общим именем * .servicename.com, поэтому я думаю, что делаю то, что должен. Но ... не работает. HTTP-запросы по-прежнему работают нормально, HTTPS-запросы истекли, а в журналах ничего нет. Что не так с моей конфигурацией?
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>
Довольно странно видеть запросы к Apache на тайм-аут из-за неправильной конфигурации.
Когда время ожидания соединения прерывается, это часто проблема сети или брандмауэра. Например, если брандмауэр настроен так, чтобы не разрешать трафик на этот порт, и он отбрасывает эти пакеты, время ожидания соединения истекает.
Взгляните на весь брандмауэр, задействованный в вашей настройке, и это означает исходящие правила вашей локальной сети, правила входящей сети сервера и правила iptables самого сервера.