Apache错误:端口443上的_default_ virtualhost重叠

Mar*_*ark 60 apache virtualhost

尝试启动Apache时出现此错误.

_default_ virtualhost在端口443上重叠

我正在尝试设置SSL.几乎所有在线解决方案都说:

NameVirtualHost *:443
Run Code Online (Sandbox Code Playgroud)

到conf文件,但Apache仍然无法启动,只是说

行动开始失败.apache日志可能包含更多信息

Apache日志中没有信息.

Dan*_*ski 112

要解决Debian/Ubuntu系统上的问题,请/etc/apache2/ports.conf通过添加NameVirtualHost *:443来修改设置文件.我ports.conf现在是以下内容:

# /etc/apache/ports.conf
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gz

NameVirtualHost *:80
Listen 80

<IfModule mod_ssl.c>
    # If you add NameVirtualHost *:443 here, you will also have to change
    # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
    # to <VirtualHost *:443>
    # Server Name Indication for SSL named virtual hosts is currently not
    # supported by MSIE on Windows XP.

    NameVirtualHost *:443

    Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    NameVirtualHost *:443
    Listen 443
</IfModule>
Run Code Online (Sandbox Code Playgroud)

此外,请确保未启用"sites-available/default-ssl",键入a2dissite default-ssl以禁用该站点.当你自己键入a2dissite它以获取列表并查看是否有任何其他已启用的站点设置可能映射到端口443.

  • 非常感谢,添加NameVirtualHost*:443解决了这个问题!用户请注意,在带有Apache2的现代Debian/Ubuntu中,文件是/etc/apache2/ports.conf (6认同)

oar*_*alo 33

在CentOS中安装一个vanilla Apache2时,安装mod_ssl时会自动添加一个配置文件:

{apache_dir}/conf.d/ssl.conf
Run Code Online (Sandbox Code Playgroud)

此配置文件包含端口443的默认虚拟主机定义,名为default:443.如果您还拥有自己的443虚拟主机定义(即在httpd.conf中),那么您将有一个混乱.由于首先包含conf.d文件,它们将战胜你的文件.

要解决冲突,您可以从中删除虚拟主机定义conf.d/ssl.conf或将其更新为您自己的设置.

  • 谢谢你,我努力解码你的答案.注释掉ssl.conf中<Virtualhost _default_:443>行到</ Virtualhost>行的所有内容,以使其正常工作. (3认同)

lar*_*sks 12

添加NameVirtualHost *:443是正确的解决方案的可能性极小,因为在有限数量的情况下,可以通过SSL支持基于名称的虚拟主机.阅读本文本文了解一些细节(可能有更好的文档;这些只是我发现的,详细讨论了这个问题).

如果你正在运行一个相对有限的Apache配置,你可能在某处:

<VirtualHost _default_:443>
Run Code Online (Sandbox Code Playgroud)

你最好的选择是:

  • 将其他SSL配置放入此现有VirtualHost容器中,或
  • 注释掉整个VirtualHost块并创建一个新块.不要忘记包含所有相关的SSL选项.