【问题标题】:Apache 2.4 configuration for ssl not workingssl 的 Apache 2.4 配置不起作用
【发布时间】:2013-11-21 16:54:12
【问题描述】:

带有 mod_jk 1.3.7 的 Apache Server 2.4 不适用于 ssl (https)

错误 1:

名为的Apache服务报如下错误:

SSLSessionCache:不支持“shmcb”会话缓存(已知名称:)。也许您需要加载适当的 socache 模块(mod_socache_shmcb?)。

错误 2:

错误应用程序名称:httpd.exe,版本:2.4.4.0,时间戳:0x512fec36 错误模块名称:mod_jk.so,版本:1.2.37.0,时间戳:0x4fc48072 异常代码:0xc0000005 故障偏移:0x000000000000752d 错误进程ID:0x3580 错误应用程序启动时间:0x01cee6d2be493d71 错误的应用程序路径:C:\Program Files\Apache Software Foundation\Apache2.4\bin\httpd.exe 错误模块路径:C:\Program Files\Apache Software Foundation\Apache2.4\modules\mod_jk.so 报告 ID:f8d090fa-52c6-11e3-bce9-e4d53d737212

我们对httpd_ssl.conf的配置如下:

Listen 443

SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5

SSLPassPhraseDialog  builtin

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

<VirtualHost _default_:443>

DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.4/htdocs"
ServerName 127.0.0.1:443
ServerAdmin admin@mshome.net
ErrorLog "C:/Program Files/Apache Software Foundation/Apache2.4/logs/error.log"
TransferLog "C:/Program Files/Apache Software Foundation/Apache2.4/logs/access.log"

SSLEngine on

SSLCertificateFile "C:/Program Files/Apache Software Foundation/Apache2.4/conf/serverssl.crt"

SSLCertificateKeyFile "C:/Program Files/Apache Software Foundation/Apache2.4/conf/server.key"

SSLCACertificateFile "C:/Program Files/Apache Software Foundation/Apache2.4/conf/bundle.crt"

<FilesMatch "\.(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
</FilesMatch>
<Directory "C:/Program Files/Apache Software Foundation/Apache2.4/cgi-bin">
    SSLOptions +StdEnvVars
</Directory>

BrowserMatch "MSIE [2-5]" \
     nokeepalive ssl-unclean-shutdown \
     downgrade-1.0 force-response-1.0

CustomLog "C:/Program Files/Apache Software Foundation/Apache2.4/logs/ssl_request.log" \
      "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

</VirtualHost> 

TIA....!

【问题讨论】:

    标签: https apache2 tomcat7 mod-jk


    【解决方案1】:

    在 Apache2.2 中,默认情况下,apache/conf/httpd.conf 中的以下行未注释。

    LoadModule socache_shmcb_module modules/mod_socache_shmcb.so

    从 Apache 2.4 开始,上面的行被注释了,所以删除它前面的 # 符号。

    这应该可行。

    【讨论】:

    • 新手请访问link。关于同样的问题
    • 您可能需要将modules/mod_socache_shmcb.so的链接更改为共享对象所在的位置。我的地址是/usr/lib/apache2/modules/mod_socache_shmcb.so
    • 感谢您的回答,它节省了我的时间
    • 我取消注释该行,问题仍然存在,怎么办?
    • 这个解决方案让我朝着正确的方向前进,但并不完全适用于我的 apache 版本(Apache/2.4.18 (Ubuntu))。我必须将模块 socache_shmcb.load 链接到 mods-enabled 并为我解决了问题。
    【解决方案2】:

    在 apache 2.4.25-3+deb9u4(显然是 Debian)上,@Mr Roshan Pawar 提到的行不存在。您必须创建一个指向模块的符号链接,并以这种方式在/etc/apache2/mods-enabled 中启用它:

    ln -s ../mods-available/socache_shmcb.load socache_shmcb.load

    正如@ericP 所说,有必要重新启动你的 apache,这取决于你的发行版/配置,它可能是:

    service apache2 restart
    /etc/init.d/apache2 restart
    systemctl restart apache2
    apache2 -k restart
    

    【讨论】:

    • 在此之后您可能需要进行残酷的重新加载。我尝试了优雅的重新加载(sudo /etc/init.d/apache2 reload),但仍然看到“不支持'shmcb'会话缓存”。它与stopstart 一起使用。
    • 感谢@ericP,确实如此,必须重新启动,重新加载只会“刷新”应用的更改,在这种情况下,我们正在添加一些“新”(即被激活的新模块)到我们的阿帕奇。我已经更新了答案。
    【解决方案3】:

    对于 el capitan,so 文件的路径是 /usr/libexec/apache2/mod_socache_shmcb.so

    我在httpd.conf 中的条目看起来像:

    LoadModule socache_shmcb_module /usr/libexec/apache2/mod_socache_shmcb.so
    

    【讨论】:

      【解决方案4】:

      cp /etc/apache2/mods-available/socache_shmcb.load /etc/apache2/mods-enabled/

      这将解决: SSLSessionCache:不支持“shmcb”会话缓存(已知名称:)。也许你需要加载适当的socache模块(mod_socache_shmcb?)。

      【讨论】:

      • 复制二进制的可怕做法,正确的做法是指向符号链接。
      【解决方案5】:

      对于 Apache 2.4。在 Ubuntu:

      sudo a2enmod socache_shmcb
      

      【讨论】:

        猜你喜欢
        • 2016-04-13
        • 1970-01-01
        • 1970-01-01
        • 2019-04-22
        • 1970-01-01
        • 1970-01-01
        • 2020-02-28
        • 2014-10-23
        • 2017-12-04
        相关资源
        最近更新 更多