使用 Apache2 从 HTTP 切换到 HTTPS 不起作用

使用 Apache2 从 HTTP 切换到 HTTPS 不起作用

我正在尝试在 Ubuntu 11 上使用自签名证书将现有的 apache2 站点从 http 更改为 https。该站点当前正在使用 的配置运行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 版本的请求则无限期挂起。我错过了什么?

编辑:
值得一提的是,除了我遇到问题的站点之外,此机器上还有其他 6 个站点由 apache2 提供服务。因此,我的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

在其他 site[AF].mydomain.com 站点中,任何地方都没有对 siteX.mydomain.com 的引用,因此它们都没有被意外配置为继续为http://siteX.mydomain.com

编辑2:
下面是我的配置文件开头的一段代码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 

编辑3:
更新输出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>

编辑4:
这是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>

相关内容