gpt4 book ai didi

Apache 虚拟主机 - Mod 代理问题

转载 作者:行者123 更新时间:2023-12-04 19:44:39 25 4
gpt4 key购买 nike

对 Apache 不太熟悉,之前设置过简单的虚拟主机没有问题。似乎有一个奇怪的,使用 1 个 IP 地址和多个服务器。

我的第二个虚拟主机似乎只查看前 2 个条目而忽略了其余条目。我已经绘制出了我想要发生的事情以及我的虚拟主机文件的外观,第二张图片就是正在发生的事情。

How my virtual hosts are setup and envision the routing to act

How it's currently operating

现在在两台服务器上使用虚拟主机可能不正确?

对 Apache 不太熟悉,之前设置过简单的虚拟主机没有问题。似乎有一个奇怪的,使用 1 个 IP 地址和多个服务器。

我的第二个虚拟主机似乎只查看前 2 个条目而忽略了其余条目。我已经绘制出了我想要发生的事情以及我的虚拟主机文件的外观,第二张图片就是正在发生的事情。

服务器1

<VirtualHost *:80>
ServerName server1.domain.com
ServerAlias x.domain.com
DocumentRoot /var/www/html
</VirtualHost>

<VirtualHost *:80>
ServerName server2.domain.com
ServerAlias y.domain.com

ProxyPreserveHost On
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
ProxyPass / http://server2
ProxyPassReverse / http://server2

</VirtualHost>

<VirtualHost *:80>
ServerName server2.domain.com
ServerAlias z.domain.com

ProxyPreserveHost On
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
ProxyPass / http://server2
ProxyPassReverse / http://server2

</VirtualHost>

<VirtualHost *:80>
ServerName server2.domain.com
ServerAlias w.domain.com
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://server2
ProxyPassReverse / http://server2
</VirtualHost>

服务器 2
<VirtualHost *:80>
ServerName server2.domain.com
DocumentRoot /var/www/html
</VirtualHost>

<VirtualHost *:80>
ServerName server2.domain.com
ServerAlias z.domain.com
DocumentRoot /var/www/html/z
</VirtualHost>

<VirtualHost *:80>
ServerName server2.domain.com
ServerAlias w.domain.com
DocumentRoot /var/www/html/w
</VirtualHost>

<VirtualHost *:80>
ServerName server2.domain.com
ServerAlias y.domain.com
DocumentRoot /var/www/html/y
</VirtualHost>

最佳答案

避免为任何两个 VirtualHost 条目提供相同的 Servername。使用 x、y、z 等名称是完全可以的(假设所有解析为来自外部用户的一个 IP 地址)。

为简单起见(维护和管理配置),还应避免将“标准”服务器配置(例如 server1 上的 x)与 VirtualHost 混合。 Web 命名空间上的任何可访问区域都应通过 VirtualHost 进行配置。 (在这种情况下,您的配置中的第一个将变为“默认”。)

在两台服务器上使用 VirtualHosts 本身不是问题。您只需要确保原始 HTTP 请求中的 ServerName 正确转发并到达 server2。为此,您需要添加

ProxyPreserveHost On

到您的 VirtualHost 配置。

然而,放弃基于名称的 VirtualHosts 使用 server2 并转而为各个(逻辑)主机使用不同的 IP 地址或端口可能更容易。 Server2 是(至少在概念上)一个内部设置,对“外部”端不可见。因此,易用性并不能真正归因于

关于Apache 虚拟主机 - Mod 代理问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35998590/

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