Apache2代理错误路由

Apache2代理错误路由,apache,ubuntu-16.04,mod-proxy,apache2.4,Apache,Ubuntu 16.04,Mod Proxy,Apache2.4,我使用apache2作为代理,将对不同URL的请求分发到ubuntu 16.04 LTS上的不同lxc容器 例如: www.adomain.com的代理权限为10.0.3.100 www.bdomain.com已代理至10.0.3.101 等等 原则上,这是可行的,但很好,但现在我看到了一种奇怪的行为 配置文件bbb.adomain.com: <VirtualHost bbb.adomain.com:80> ServerName bbb.adomain.com P

我使用apache2作为代理,将对不同URL的请求分发到ubuntu 16.04 LTS上的不同lxc容器

例如:

  • www.adomain.com的代理权限为10.0.3.100
  • www.bdomain.com已代理至10.0.3.101
  • 等等
原则上,这是可行的,但很好,但现在我看到了一种奇怪的行为

配置文件bbb.adomain.com:

<VirtualHost bbb.adomain.com:80>
    ServerName bbb.adomain.com
    ProxyRequests Off
    ProxyPreserveHost On
    <Proxy *>
            Order deny,allow
            Allow from all
    </Proxy>


    ProxyPass / http://10.0.3.104/
    ProxyPassReverse / http://10.0.3.104/
    <Location />
            Order allow,deny
            Allow from all
    </Location>
</VirtualHost>

ServerName bbb.adomain.com
代理请求关闭
代理主机
命令拒绝,允许
通融
ProxyPass/http://10.0.3.104/
ProxyPassReverse/http://10.0.3.104/
命令允许,拒绝
通融
这很好,bbb.adomain.com的每个请求都被代理到10.0.3.104

但是,对xxx.bdomain.com的请求也被代理为10.0.3.104。但是xxx.bdomain.com没有在任何apache.conf文件中配置为虚拟主机/servername

如何配置apache2,使任何未配置为虚拟主机/服务器名的URL都不会被代理

我如何调试apache2以找出为什么这个域xxx.bdomain.com被代理

顺便说一下-第一个apache配置文件是000.conf:

<VirtualHost *:80>
ServerName catchall
<Location />
    Order allow,deny
    Deny from all
</Location>

服务器名catchall
命令允许,拒绝
全盘否定

您可以尝试以下基本配置:

<VirtualHost *:80>
ServerName bbb.adomain.com
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
        Order deny,allow
        Allow from all
</Proxy>

ProxyPass / http://10.0.3.104/
ProxyPassReverse / http://10.0.3.104/
<Location />
        Order allow,deny
        Allow from all
</Location>
</VirtualHost>

<VirtualHost *:80>
ServerName xxx.bdomain.com
DocumentRoot /var/www/example
</VirtualHost>

ServerName bbb.adomain.com
代理请求关闭
代理主机
命令拒绝,允许
通融
ProxyPass/http://10.0.3.104/
ProxyPassReverse/http://10.0.3.104/
命令允许,拒绝
通融
ServerName xxx.bdomain.com
DocumentRoot/var/www/example

使用以下步骤:

1)更新虚拟文件:-

    <VirtualHost *:80>
    ServerAdmin admin@test.com
    ServerName mysite.com
    ServerAlias www.mysite.com
  ProxyRequests Off Order deny,allow Allow from all
 <Location />
        ProxyPass http:// mysite.com:8000/
        ProxyPassReverse http:// mysite.com:8000/
    </Location>

</VirtualHost>
3)要使这些更改生效,请重新启动Apache。

sudo systemctl restart apache2
sudo systemctl restart apache2