用于ssl的Apache 2.4配置无法正常工作

Meu*_*ght 63 https apache2 mod-jk tomcat7

带有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.所以报告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> 
Run Code Online (Sandbox Code Playgroud)

TIA ....!

Mr *_*war 112

在Apache2.2中apache/conf/httpd.conf,默认情况下取消注释以下行.

LoadModule socache_shmcb_module modules/mod_socache_shmcb.so

从Apache 2.4上面的行注释,所以删除#之前的标志.

这应该工作.

  • 您可能需要将`modules/mod_socache_shmcb.so`的链接更改为共享对象所在的位置.我在`/ usr/lib/apache2/modules/mod_socache_shmcb.so`. (4认同)
  • 新手访问[链接](http://urattarde.blogspot.in/2013/11/making-website-https-using-apachehttpd.html).关于同样的问题 (2认同)
  • 这个解决方案让我朝着正确的方向前进,但并不完全适用于我的 apache 版本(Apache/2.4.18(Ubuntu))。我必须将模块 socache_shmcb.load 链接到 mods-enabled 并为我解决了问题。 (2认同)

Mig*_*tiz 6

在Apache 2.4.25-3 + deb9u4(显然是Debian)上,@ 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
Run Code Online (Sandbox Code Playgroud)