我使用 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 标志