我在位于ubuntu机器内的apache服务器上有2个虚拟主机(bugzilla和电路板审查)。
我有一个可以使用的外部IP地址(启用了一个端口),因此我无法为虚拟主机分配不同的主机名或不同的端口。(如果我错了,请纠正我)
我希望用户能够编写以下内容: http://ip-address:port/bugzilla以及前往bugzilla的请求 以及http://ip-address:port/review要求进入审核委员会的请求。
我尝试从第一个vhost反向代理到第二个但是没有用。
bugzilla conf文件使用cgi,审查委员会使用wsgi。
有没有简单的方法来完成上述工作?
提前致谢。
答案 0 :(得分:3)
您可以使用Alias指令实现此目的。
Alias指令允许将文档存储在除DocumentRoot之外的本地文件系统中。带(% - 解码)的网址 以URL路径开头的路径将从头开始映射到本地文件 与目录路径。 URL路径区分大小写,即使在 不区分大小写的文件系统。
Alias“/ image”“/ ftp / pub / image”请求 http://example.com/image/foo.gif会导致服务器返回 文件/ftp/pub/image/foo.gif。仅匹配完整路径段, 所以上面的别名与请求不匹配 http://example.com/imagefoo.gif。对于更复杂的匹配使用 正则表达式,请参阅AliasMatch指令。
您的虚拟主机文件将如下所示
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName ip-address:port/bugzilla
Alias "/bugz" "var/www/html/bugz"
Alias "/wow" "var/www/html/wow"
DocumentRoot /path/to/yourwebsite
</VirtualHost>
实现在同一IP上拥有多个虚拟主机的目标。
正在运作的GIF
注意强>
VirtualHost
配置,其中包含两个不同的虚拟主机条目。对此答案的评论之一说不同的虚拟主机不起作用。但只要服务器名称不同,他们就会这样做。答案 1 :(得分:0)
您可以更改地址,使其为http://bugzilla.ip-address:port/和http://review.ip-address:port/,然后使用ServerName指令使用正确的VirtualHost。