对使用 SSL 支持配置 Apache 感到茫然和困惑
Posted
技术标签:
【中文标题】对使用 SSL 支持配置 Apache 感到茫然和困惑【英文标题】:Dazed and confused about configuring Apache with SSL support 【发布时间】:2010-10-16 03:39:56 【问题描述】:我花了几个小时尝试将我的 Apache 服务器配置为使用没有公共 IP 的 SSL,只有 localhost。我已经创建了证书,我认为(这对我来说就像是关于黑魔法的速成课程),当我尝试 tro 访问 https://localhost 时,浏览器会在状态行上显示“已连接到 localhost...”但只是永远加载。这是来自error_log
的sn-p:
[Fri Mar 27 22:03:39 2009] [info] Loading certificate & private key of SSL-aware server
[Fri Mar 27 22:03:39 2009] [info] Configuring server for SSL protocol
[Fri Mar 27 22:03:39 2009] [info] Loading certificate & private key of SSL-aware server
[Fri Mar 27 22:03:40 2009] [info] Configuring server for SSL protocol
那里似乎一切正常,但与此同时,ssl_engine_log
...
[Fri Mar 27 22:03:39 2009] [info] Init: Initializing OpenSSL library
[Fri Mar 27 22:03:39 2009] [info] Init: Seeding PRNG with 136 bytes of entropy
[Fri Mar 27 22:03:39 2009] [info] Init: Generating temporary RSA private keys (512/1024 bits)
[Fri Mar 27 22:03:39 2009] [info] Init: Generating temporary DH parameters (512/1024 bits)
[Fri Mar 27 22:03:39 2009] [info] Init: Initializing (virtual) servers for SSL
[Fri Mar 27 22:03:39 2009] [info] mod_ssl/2.0.61 compiled against Server: Apache/2.0.61, Library: OpenSSL/0.9.7i
[Fri Mar 27 22:03:39 2009] [warn] module php5_module is already loaded, skipping
[Fri Mar 27 22:03:39 2009] [info] Init: Initializing OpenSSL library
[Fri Mar 27 22:03:39 2009] [info] Init: Seeding PRNG with 136 bytes of entropy[Fri Mar 27 22:03:39 2009] [info] Init: Generating temporary RSA private keys (512/1024 bits)
[Fri Mar 27 22:03:40 2009] [info] Init: Generating temporary DH parameters (512/1024 bits)
[Fri Mar 27 22:03:40 2009] [info] Init: Initializing (virtual) servers for SSL
[Fri Mar 27 22:03:40 2009] [info] mod_ssl/2.0.61 compiled against Server: Apache/2.0.61, Library: OpenSSL/0.9.7i
[Fri Mar 27 22:03:40 2009] [notice] Digest: generating secret for digest authentication ...
[Fri Mar 27 22:03:40 2009] [notice] Digest: done
[Fri Mar 27 22:03:40 2009] [notice] Apache/2.0.61 (Unix) mod_ssl/2.0.61 OpenSSL/0.9.7l DAV/2 PHP/5.2.5 configured -- resuming normal operations
[Fri Mar 27 22:03:40 2009] [info] Server built: Jan 17 2008 17:33:42
[Fri Mar 27 22:03:40 2009] [emerg] (13)Permission denied: apr_proc_mutex_lock failed. Attempting to shutdown process gracefully.
[Fri Mar 27 22:03:40 2009] [emerg] (13)Permission denied: apr_proc_mutex_lock failed. Attempting to shutdown process gracefully.
...更多类似于最后两行,直到我最终停止服务器...
[Fri Mar 27 22:03:43 2009] [info] removed PID file /usr/local/apache2/logs/httpd.pid (pid=8786)
[Fri Mar 27 22:03:43 2009] [notice] caught SIGTERM, shutting down
对此permission denied
和apr_proc_mutex_lock
的一些谷歌搜索并没有产生任何有用的信息。只有一些与 MPM 和 perchild 选项相关的结果,但由于它们很旧(2002 年和 2003 年)而且我在阅读它们后真的不能得出任何结论,我问你是否有办法克服这个问题。好吧,首先:实际上是什么问题?模块之间是否存在某种不兼容?我是否必须重新编译一些东西(求求主,不要再编译了,不要)?
提前致谢。
【问题讨论】:
投票结束,因为这与编程无关,可能更适合 Apache 论坛。 问题也很弱:例如,标题试图变得可爱而不是信息丰富。 不。没有一个很好的地方可以问这些问题,坦率地说,如果这不属于网站的主题,则需要扩大主题以包含它。也就是说,如果不知道配置和操作系统,就很难回答。 【参考方案1】:庆幸你没有使用 apache 1.3——让 SSL 在上面运行要困难得多!
mod_ssl 需要几个文件的写权限才能工作。查看this setting 并确保 apache 具有对该文件所在目录的写入权限。例如,如果说(例如):
SSLMutex file:/var/run/apache/ssl.mutex
您需要验证 apache 是否可以写入 /var/run/apache
。
几乎所有这些类型的错误通常都是文件系统上的某种权限错误。
【讨论】:
好吧,非常感谢,伙计。我的问题实际上并不在于目录权限,但您的链接最有帮助!我花了更多时间阅读指令描述,添加 AcceptMutex 后,我能够连接。我不是想听起来很可爱,只是说感谢您的帮助。以上是关于对使用 SSL 支持配置 Apache 感到茫然和困惑的主要内容,如果未能解决你的问题,请参考以下文章
在 tomcat 和 apache http 服务器之间配置 SSL