无法使 SSL 工作

无法使 SSL 工作

我正在尝试让 Apache 2 对服务器上的众多域之一使用 SSL。我不关心服务器上运行 SSL 的任何其他域。我正在尝试为 Facebook 应用程序执行此操作。根据http://www.t1shopper.com/tools/port-scan/

该网址是 facebook.mythinairwireless.com

我遵循了以下指南:http://www.codealpha.net/631/name-based-virtual-hosts-with-ssl-using-apache2-on-ubuntu-lucid/

当我重新启动 Apache 时,我收到以下日志消息:

[Fri Jan 20 20:23:42 2012] [warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
[Fri Jan 20 20:23:42 2012] [warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
[Fri Jan 20 20:23:42 2012] [notice] Apache/2.2.14 (Ubuntu) PHP/5.3.2-1ubuntu4 with Suhosin-Patch mod_ssl/2.2.14 OpenSSL/0.9.8k configured -- resuming normal operations

我的 ports.conf 文件如下所示:

NameVirtualHost *:80
NameVirtualHost *:443

Listen 80

<IfModule mod_ssl.c>
    # If you add NameVirtualHost *:443 here, you will also have to change
    # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
    # to <VirtualHost *:443>
    # Server Name Indication for SSL named virtual hosts is currently not
    # supported by MSIE on Windows XP.
    Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    Listen 443
</IfModule>

还有我的网站配置文件(除了一些文件路径:

<VirtualHost *:443>
SSLEngine on
SSLCertificateFile obscured

ServerName facebook.mythinairwireless.com
ServerAdmin webmaster@localhost

    DocumentRoot /home/obscured/facebook

ErrorLog /var/log/apache2/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/access.log combined

</VirtualHost>

我对端口 80 的配置也在这个文件中。

答案1

这些只是警告。如果您的浏览器支持 SSL,则应该让您的网站运行 SSLSNI(服务器名称指示)

因此,建议为 SSL 网站配置基于 IP 的虚拟主机,而不是基于名称的虚拟主机。

答案2

检查 ssl 模块是否已启用(可能带有该警告)。

apache2 -t -D DUMP_MODULES -f /etc/apache2/apache2.conf

注意,上面的命令中 apache2 可能需要替换为 httpd。最后的文件路径应该是主 apache 配置文件。

也可能是防火墙阻止了该端口。下一个命令将允许您查看它是否确实在监听。如果您没有得到任何结果,则表示没有进程在监听 443。

netstat -lpn | grep 443

这是我的整个配置,仅供参考。

Listen 443
NameVirtualHost *:443

<VirtualHost *:443>

    ServerName              sub.domain.com
    DocumentRoot            /home/www/sub.domain.com/

    SSLEngine               on

    SSLCertificateFile      /etc/apache2/ssl/sub.domain.com
    SSLCertificateKeyFile   /etc/apache2/ssl/sub.domain.com

</VirtualHost>

一些附加位应该已经随 ssl 模块一起提供。

SSLRandomSeed startup builtin
SSLRandomSeed startup file:/dev/urandom 512
SSLRandomSeed connect builtin
SSLRandomSeed connect file:/dev/urandom 512

SSLPassPhraseDialog builtin

SSLSessionCache shmcb:/var/run/apache2/ssl_scache(512000)

SSLSessionCacheTimeout 300

SSLMutex file:/var/run/apache2/ssl_mutex

SSLCipherSuite HIGH:MEDIUM:!ADH

SSLProtocol all -SSLv2

相关内容