【问题标题】:Apache loads mod_ssl but <IfModule mod_ssl.c> ignored in my vhostsApache 加载 mod_ssl 但 <IfModule mod_ssl.c> 在我的虚拟主机中被忽略
【发布时间】:2018-03-30 20:54:57
【问题描述】:

我正在尝试保护我的服务器的虚拟主机。我很好地安装了 LE/Certbot,没有任何问题。我安装/升级了任何依赖项以使 certbot 工作,它们再次运行良好。

mod_ssl 已安装并加载。我跑了phpinfo(),在LoadedModules 部分,我看到了mod_ssl

但是,在我的 vhosts 文件中,当我使用

<IfModule mod_ssl.c>
    <VirtualHost *:443>
        ... 
    </VirtualHost>
</IfModule>

该特定站点 &lt;VirtualHost&gt;&lt;/VirtualHost&gt; 块被忽略(即我无法访问 VirtualHost 块中定义的站点),除非我删除/注释掉 ` 包装器。

httpd 版本:

$ httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built:   Apr 12 2017 21:03:28

我在网上找不到很多东西,所以我有点卡住了。我担心如果我不知道为什么会有更险恶的东西会抓住我。

任何帮助将不胜感激!

干杯

【问题讨论】:

  • 尝试删除.c,留下&lt;IfModule mod_ssl&gt;。如果这不起作用,请拧紧IfModule,然后将其从包装中取出。
  • 您好,感谢您的回复!我删除了.c 并重新启动了 apache,但仍然不走运。是的,这就是我必须要做的。我只是希望没什么大不了的!

标签: apache https httpd.conf vhosts mod-ssl


【解决方案1】:

如果其他人遇到这个问题,那是因为我在 mod_ssl 扩展之前加载了 vhosts 配置文件。

我将Include vhost 调用移到Include conf.d/*.conf 调用下方,在httpd.conf 中,然后重新启动Apache 并且它工作。

希望对某人有所帮助!

【讨论】:

  • 实际上花了 4 天时间研究这个。我也有&lt;IfModule mod_ssl.c&gt; 包装器,我最终通过在http.conf 文件末尾切换IncludeOptional 语句的顺序来解决。感谢您在此处发布您的解决方案。
猜你喜欢
  • 2014-11-10
  • 2019-11-14
  • 2018-02-08
  • 2010-10-21
  • 2021-09-29
  • 1970-01-01
  • 2016-06-13
  • 2013-09-26
  • 2015-01-01
相关资源
最近更新 更多