如何为Apache httpd安装mod_ssl?
嗯 因此,我不久前安装了Apache如何为Apache httpd安装mod_ssl?,apache,ssl,httpd.conf,webmin,virtualmin,Apache,Ssl,Httpd.conf,Webmin,Virtualmin,嗯 因此,我不久前安装了Apachehttpd,最近又回来尝试安装SSL,并让它服务于几个不同的tomcat服务器 目前,我有两个完全独立的Tomcat实例,为我的web应用程序提供两个不同的端口,它们的版本略有不同(一个用于开发,一个用于演示): example.com:8081 example.com:8082 我已经成功地(早在一月份)使用mod_jk获得了httpd来为那些相同的Tomcat实例提供http://www.example.com:8090/dev和http://www.
httpd
,最近又回来尝试安装SSL,并让它服务于几个不同的tomcat服务器
目前,我有两个完全独立的Tomcat实例,为我的web应用程序提供两个不同的端口,它们的版本略有不同(一个用于开发,一个用于演示):
example.com:8081
example.com:8082
mod_jk
获得了httpd
来为那些相同的Tomcat实例提供http://www.example.com:8090/dev
和http://www.example.com:8090/demo
(8090因为我在这个阶段通过Jetty在8080上运行了另一个应用程序)使用httpd.conf
中的以下代码:
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>
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
dir,实际上没有mod\u ssl
,只有mod\u jk.so
和httpd.exp
我曾尝试使用yum安装mod_ssl
,它说它已经安装了。实际上,我可以在/usr/lib/httpd/modules
中找到mod\u ssl.so
,但这不是我安装httpd
的路径,它是/opt/httpd
,实际上/usr/lib/httpd
只包含modules
目录
有人能告诉我如何为我的
httpd
安装位置正确安装mod\u ssl
,以便我能克服此错误吗?是否有任何其他LoadModule
命令引用/usr/lib/httpd/modules
文件夹中的模块?如果是这样,只需将loadmodulessl\u module/usr/lib/httpd/modules/mod\u ssl.so
添加到conf文件中就可以了
否则,您将需要将
mod_ssl.so
文件复制到其他模块正在从中加载的任何目录中,并在那里引用它。我发现我需要在Apache中启用ssl模块(如果您不是以root用户身份运行,则显然要使用sudo
作为前缀命令):
然后重新启动Apache:
/etc/init.d/apache2 restart
有关Apache for Ubuntu/Debian中SSL的更多详细信息。尝试使用以下命令安装
mod_SSL
:
yum install mod_ssl
然后使用以下命令重新加载并重新启动Apache服务器:
systemctl reload httpd.service
systemctl restart httpd.service
这应该适用于大多数情况。我使用了:
sudo yum install mod24_ssl
它在我的Amazon Linux AMI中工作。我不知道它是否仍然感兴趣,也不知道自从发布该线程以来情况是否发生了变化,但我系统上的
/etc/apache2/apache2.conf
显示:
mods enabled/、conf enabled/和sites enabled中的配置文件/
目录包含管理模块的特定配置代码段,
全局配置片段或虚拟主机配置,
分别
它们通过将其上的可用配置文件符号链接来激活
相应*-可用/副本。这些应该通过使用我们的
助手a2enmod/a2dismod、a2ensite/a2disconf和a2enconf/a2disconf。看见
有关详细信息,请参阅各自的手册页
在我的系统上,模块安装在/usr/lib/apache2/modules中。
我正在Apache安装中运行Ubuntu20.04.2 LTS。mod_ssl。因此完全丢失了。原来它与基本安装是分开的,并且位于yum软件包管理器中的包
mod_ssl
下。使用yum安装mod_ssl
下载,然后它出现在modules
文件夹中。在编译我自己的apache 2后,我发现mod_ssl.so丢失了。需要从头开始重新编译。@ug_uu谢谢,我确认在安装模块后,它包含了该模块,并添加了一个具有所需配置的ssl.conf
文件。您使用的是哪个发行版操作系统?@Nagaa2enmod
来自Debian世界。如果您从源代码安装Apache,然后,yum将无法检测到它。相反,它将安装一个重复的(过时的)Apache版本,并将mod_ssl.so放入该Apache的模块文件中。
sudo yum install mod24_ssl