SUSE Linux Enterprise 上带有 SSL 和 mod_jk 的 Apache2 | Apache 始终以禁用 SSL 的方式启动

SUSE Linux Enterprise 上带有 SSL 和 mod_jk 的 Apache2 | Apache 始终以禁用 SSL 的方式启动

我使用 YaST 在 SUSE Linux Enterprise Server 11 (x86_64) (补丁级别 1) 上安装了 Apache2 (启用了 mod_ssl)。安装完成后,我测试了到目前为止一切是否运行正常。SSL 也运行正常。

只需“apache2ctl start”就足以使一切正常工作。

然后我安装了 mod_jk 并应用以下配置更改以使其工作。

/etc/sysconfig/apache2 (添加了 JK 模块)

APACHE_MODULES="... ... ... ... ...jk"

/etc/apache2/httpd.conf(包括 mod_jk.conf)

Include /etc/apache2/mod_jk.conf

/etc/apache2/mod_jk.conf(新文件)

JkLogFile                       /var/log/apache2/mod_jk.log
JkWorkersFile           /etc/apache2/mod_jk/workers.properties
JkShmFile                       /etc/apache2/mod_jk/mod_jk.shm

# Set the jk log level [debug/error/info]
JkLogLevel                      info

# Select the timestamp log format
JkLogStampFormat        "[%a %b %d %H:%M:%S %Y] "

还创建了 mod_jk.log 和 mod_jk.shm 文件。

/etc/apache2/mod_jk/workers.properties(新文件)

worker.list=jira
worker.jira.type=ajp13
worker.jira.host=127.0.0.1
worker.jira.port=8009

一切完成后,我使用以下命令重新启动了 Apache,

apache2ctl restart

然后我发现 SSL 不起作用。使用 telnet 检查时,我发现端口 443 未打开。

在 listen.conf 中,如果我指定端口 443 并绕过“IfDefine”和“IfModule”条件,则 SSL 可以正常工作。这可能是因为“SSL”标志未传递给 Apache。我没有对此进行持久更改,因为我认为这可能不是正确的做法。

我检查了 /etc/sysconfig/apache2 以查看它是否已被更改,但它确实在那里。尽管已启用此标志,但 Apache 不会在启动时提供 SSL 支持。

APACHE_SERVER_FLAGS="SSL"

最后,我必须使用以下命令启动 Apache,

apache2ctl -D SSL -k start

我的问题是,当我已经安装并正确配置了 mod_jk 并且没有应用其他配置更改时,为什么 Apache(或 apache2ctl)无法使用 SSL 启动?

我是否遗漏了什么?

提前致谢。

-- 沙昆萨拉

答案1

从一个朋友那里得到了这个答案,

使用“rcapache2 start”启动服务器..然后它就会工作。否则它不会考虑在 /etc/sysconfig/apache2 上设置的 SSL 标志

相关内容