Apache2代理错误路由
我使用apache2作为代理,将对不同URL的请求分发到ubuntu 16.04 LTS上的不同lxc容器 例如: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
- www.adomain.com的代理权限为10.0.3.100
- www.bdomain.com已代理至10.0.3.101
- 等等
<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