会话缓存未配置...为什么?

会话缓存未配置...为什么?

我在 Windows Server 2003 R2 32 位上运行(实际上是尝试运行)Apache 2.4.2(加上 PHP 5.4.5 和 OpenSSL 1.0.1c,但我认为这并不重要),并且在错误日志中收到以下行:

[Sun Aug 05 11:52:39.546875 2012] [ssl:warn] [pid 5712:tid 348] AH01873: Init: Session Cache is not configured [hint: SSLSessionCache]

尝试连接时https://localhost/出现 102 - 连接被拒绝错误。

令我困惑的是SSLSessionCache 配置:

SSLSessionCache        "shmcb:C:/Program Files/Apache Software Foundation/Apache2.4/logs/ssl_scache(512000)"

它是完全相同的线我为 Apache 2.2.17 编写的配置文件(除了 /Apache2.2 而不是 2.4)运行良好。使用 mod_status 时,我没有得到“SSL/TLS 会话缓存状态”的信息,而 Apache 2.2 却能得到。

我认为两个httpd-ssl.conf文件之间没有太大区别,主要是路径之间,但看起来它们都没有问题。

80端口上的虚拟服务器运行正常。

我错过了什么?

编辑:对于那些感到疑惑的人来说,这并不是机器无法解析时收到的误导性警告ServerName。Apache 2.2 对此没有问题,我甚至用刷新了 DNS 缓存netstat /flushdns

答案1

罪魁祸首不是在 http-ssl.conf 中,而是在 httpd.conf 中。

当我看到服务器状态没有报告“SSL/TLS 会话缓存状态”部分时,我怀疑根本,而不是一个空的部分。碰巧的是,Includehttpd.conf 中的指令指向一个旧的测试 .conf 文件,而不是 httpd-ssl.conf。

嗯,呵呵!这可能会在将来帮助其他像我一样的新手……

答案2

我也遇到了同样的问题,但现在已经修复。

我尝试在命令提示符中运行命令“netsh winsock reset”,然后重新启动我的机器。

问题是...最近安装了 skype,安装后 apache 和 skype 都在寻找相同的端口 80。即使您更改 skype 的端口号,它也无法正常工作...可能是因为 windows 中的某些缓存。更改 skype 的端口号并运行此命令后,它对我来说就起作用了。

答案3

我尝试了上述所有解决方案,但对我而言都不起作用。最后我意识到问题是由“shmcb”引起的,它基本上是指 apache socache_shmcb 模块。我在 httpd.conf 中禁用了它,启用它解决了这个问题。

因此,要解决此问题,请取消注释 httpd.conf 中的以下行:

LoadModule socache_shmcb_module modules/mod_socache_shmcb.so

答案4

也可能是服务器名称和 SSL 证书不匹配。然后它在 apache/error-log 中显示如下:server certificate does NOT include an ID which matches the server name

相关内容