我正在尝试在我的ec2实例上安装phppgadmin,它有ubuntu 16.04和apache。我遵循的步骤是:
我在000-default.conf中创建了vhost
<VirtualHost *:80>
ServerName abc.domain.com
ServerAlias www.abc.domain.com
ServerAdmin webmaster@localhost
ProxyPreserveHost On
# setup the proxy
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
</VirtualHost>
由于另一个应用程序正在我的服务器上运行,因此我为该应用程序创建了vhost。但每当我去http://myserverip/phppgadmin时,它都会转到我在端口3000上运行的应用程序。如何解决这个问题,我不知道我在哪里做错了?
答案 0 :(得分:0)
apache只会响应HTTP标头中的ServerName和ServerAliases,因此输入http://myserverip/phppgadmin将返回默认的Vhost。
如果您输入http://abc.domain.com/phppgadmin,则应通过http://localhost:3000
指向您的申请编辑:
apache代理您的其他请求的原因是vhost查找过程。
Apache将遍历所有Vhosts以找到合适的Vhost,如果失败,它将以字母数字顺序选择第一个,在这种情况下000-default.conf
。因此,每个不适合phppgadmin的请求都代理localhost:3000
。
有关更多信息,请参阅https://httpd.apache.org/docs/2.4/vhosts/details.html。