Я пытаюсь изменить свой существующий сайт apache2 с http на https с самозаверяющим сертификатом на Ubuntu 11. Сайт в настоящее время работает с конфигом в sites-available/default
. Я следовал за документацией в /usr/share/doc/apache2.2-common/README.Debian.gz
которая в основном говорит об установке пакета ssl-cert
(он был уже установлен, поэтому я запустил sudo make-ssl-cert generate-default-snakeoil --force-overwrite
), а затем выполните:
sudo a2dissite default
sudo a2enmod ssl
sudo a2ensite default-ssl
Я обновил sites-available/default-ssl
чтобы DocumentRoot
указывал на /var/siteX.mydomain.com
.
Я тогда побежал:
sudo service apache2 restart
Но мои запросы к http-версии все еще выполняются и выполняются. Запросы к версии https просто зависают до бесконечности. Что я упустил?
Редактировать:
FWIW, apache2 обслуживает 6 других сайтов, помимо сайта, с которым у меня проблемы. Так что мой каталог с sites-enabled
выглядит так:
default-ssl (symlink to sites-available/default-ssl - maps to siteX.mydomain.com)
siteA.mydomain.com
siteB.mydomain.com
siteC.mydomain.com
siteD.mydomain.com
siteE.mydomain.com
siteF.mydomain.com
На других сайтах [AF] .mydomain.com нигде нет ссылки на siteX.mydomain.com, поэтому ни один из них не был случайно настроен на сохранение трафика на http://siteX.mydomain.com
Edit2:
Вот фрагмент из начала моего файла конфигурации 000-default-ssl
(все, что после этого - просто материал по умолчанию, который я не трогал):
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin webmaster@localhost
ServerName siteX.mydomain.com:443
DocumentRoot /var/siteX.mydomain.com
DirectoryIndex index.php
Edit3:
Обновление с выводом grep -v \# 000-default-ssl | grep -Ev '^[ \t]*$'
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin webmaster@localhost
ServerName siteX.mydomain.com:443
DocumentRoot /var/siteX.mydomain.com
DirectoryIndex index.php
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/siteX.mydomain.com/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
Options +ExecCGI
AddHandler cgi-script .pl
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
</VirtualHost>
</IfModule>
Edit4:
Это содержимое ports.conf
NameVirtualHost *:80
Listen 80
<IfModule mod_ssl.c>
NameVirtualHost *:443 # I just added this now - still not working !!
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>