首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何安装mod_ssl for Apache httpd?

如何安装mod_ssl for Apache httpd?
EN

Stack Overflow用户
提问于 2011-03-10 17:55:55
回答 5查看 267.9K关注 0票数 81

好的

所以我在一段时间之前安装了Apache,最近又回来尝试设置httpd,并让它服务于几个不同的tomcat服务器。

目前,我有两个完全独立的Tomcat实例,为两个不同的端口提供服务(一个用于开发,另一个用于演示)。

  • example.com:8081
  • example.com:8082

我已经成功地(早在1月份)使用mod_jkhttpdhttp://www.example.com:8090/devhttp://www.example.com:8090/demo (8090,因为我在这个阶段通过Jetty在8080上运行了另一个应用程序)提供相同的Tomcat实例,使用了httpd.conf中的以下代码

代码语言:javascript
复制
LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel debug

<VirtualHost *:8090>
    JkMount /devd* tomcatDev
    JkMount /demo* tomcatDemo
</VirtualHost>

我不想做的是启用SSL。

我在httpd.conf中添加了以下内容

代码语言:javascript
复制
Listen 443
<VirtualHost _default_:443>
    JkMount /dev* tomcatDev
    JkMount /demo* tomcatDemo
    SSLEngine on
    SSLCertificateFile "/opt/httpd/conf/localhost.crt"
    SSLCertificateKeyFile "/opt/httpd/conf/keystore.key"
</VirtualHost>

但是,当我尝试用apachectl restart重启Apache时(是的,在关闭了我提到的另一个应用程序之后,它就不会玩弄https连接了),我不断地得到这个错误:

无效的命令'SSLEngine',可能拼写错误或由服务器配置中未包括的模块定义。httpd未运行,正在尝试启动

我查看了httpd/modules目录,确实没有mod_ssl,只有mod_jk.sohttpd.exp

我试过用yum安装mod_ssl,它说已经安装了。实际上,我可以在/usr/lib/httpd/modules中找到mod_ssl.so,但这不是我安装httpd的路径,它是/opt/httpd,实际上/usr/lib/httpd只包含modules目录。

谁能告诉我如何在我的httpd安装位置正确地安装mod_ssl,这样我就可以克服这个错误?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-03-10 22:18:03

是否有其他LoadModule命令引用/usr/lib/httpd/modules文件夹中的模块?如果是这样的话,只需将LoadModule ssl_module /usr/lib/httpd/modules/mod_ssl.so添加到您的配置文件中就可以了。

否则,您需要将mod_ssl.so文件复制到从中加载其他模块的任何目录,并在那里引用它。

票数 40
EN

Stack Overflow用户

发布于 2013-06-26 20:00:17

我发现我需要在Apache中启用SSL模块(如果您不是以根用户身份运行,则显然需要在命令前加上sudo ):

代码语言:javascript
复制
a2enmod ssl

然后重新启动Apache:

代码语言:javascript
复制
/etc/init.d/apache2 restart

更多关于Apache for Ubuntu / Debian here中SSL的详细信息。

票数 112
EN

Stack Overflow用户

发布于 2016-10-05 20:20:07

尝试使用以下命令安装mod_ssl

代码语言:javascript
复制
yum install mod_ssl

然后使用以下命令重新加载并重新启动Apache服务器:

代码语言:javascript
复制
systemctl reload httpd.service
systemctl restart httpd.service

这应该适用于大多数情况。

票数 29
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5257974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档