gpt4 book ai didi

Apache conf 虚拟主机被忽略

转载 作者:太空宇宙 更新时间:2023-11-03 14:24:14 25 4
gpt4 key购买 nike

我在 CentOS 7 上运行 apache。我在/etc/httpd/conf.d 中有 2 个配置文件:

  • A10-my_site_dev.conf
  • A10-my_site_test.conf

由于它们相似,我只向您展示其中一个文件:

<VirtualHost *:443>
ErrorLog "logs/my_site_test.log"
SSLCertificateFile /etc/ssl/host/host.crt
SSLCertificateKeyFile /etc/ssl/host/host.key

Alias /my-site/test/static /var/www/my_site_test/static/
<Directory /var/www/my_site_test/static>
Require all granted
</Directory>

WSGIScriptAlias /my-site/test /var/www/my_site_test/app/wsgi.py
<Directory /var/www/my_site_test>
Require all granted
</Directory>
</VirtualHost>

目前,A10-my_site_test.conf 中的 VirtualHost 被忽略。如果我去https://my-server.com/my-site/test ,我有一个 404,但是 https://my-server.com/my-site/dev工作正常。如果我删除 A10-my_site_dev.conf 并重新启动 apache,https://my-server.com/my-site/test作品。我知道它只需要 apache 找到的第一个 VirtualHost。

我觉得我的 ssl.conf 中的 VirtualHost 也被忽略了,因为如果我将 SSLCertificateFileSSLCertificateKeyFile 移动到 ssl.conf,我会出现以下错误:

enter image description here

我试着不使用 VirtualHost,在那种情况下一切正常。我认为除了第一个之外,所有 VirtualHost 都被忽略了。

我在其他端口(例如 80)上遇到了同样的问题。

另一点:我读到我应该有一个 ServerName。但是我的所有环境都有相同的服务器名称。我试图将诸如“my_site_test”之类的随机内容作为 ServerName,但出现 404。

如何配置 apache 以使我的 2 个文件正常工作?

最佳答案

这不是 VirtualHosts 的工作方式。尤其是使用 SSL。

所以你有:

<VirtualHost *:443>
CONFIGURATION FOR DEV
</VirtualHost>

<VirtualHost *:443>
CONFIGURATION FOR TEST
</VirtualHost>

两个 VirtualHosts 之间的唯一区别是日志和目录?这是行不通的。

Apache 可以根据以下内容区分 VirtualHost 部分:

  • 与域关联的 IP
  • 港口
  • ServerName(用于非 SSL 配置)

您现在配置它的方式,Apache 无法区分这两个 VirtualHosts。所以它需要它找到的第一个。这解释了与证书的混淆。

工作配置示例

# www.example1.com == 1.1.1.1
# www.example2.com == 2.2.2.2

<VirtualHost 1.1.1.1:443>
ServerName www.example1.com

# SSL CONFIG
# LOGS CONFIG
# OTHER CONFIGURATION

</VirtualHost>

<VirtualHost 2.2.2.2:443>
ServerName www.example2.com

# SSL CONFIG
# LOGS CONFIG
# OTHER CONFIGURATION

</VirtualHost>

阅读文档(再次?),这对您有好处:https://httpd.apache.org/docs/2.4/vhosts/examples.html

这个站点上有一些帖子解释了 SSL VirtualHosts 配置的细节(我什至自己写了一些)。

关于Apache conf 虚拟主机被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58306595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com