我正在跟踪Ubuntu的Zabbix安装教程,它要求我添加一个文件/etc/apache2/sites-enabled/000-default,其中包含
Alias /zabbix /home/zabbix/public_html/
<Directory /home/zabbix/public_html>
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PROPFIND>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>但我已经有/etc/apache2/sites-enabled/railsapp了
NameVirtualHost *:80
NameVirtualHost *:443
<VirtualHost *:80>
UseCanonicalName Off
Include /etc/apache2/conf/railsapp.conf
</VirtualHost>
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/ssl/certs/cert.pem
Include /etc/apache2/conf/railsapp.conf
RequestHeader set X_FORWARDED_PROTO 'https'
</VirtualHost>和/etc/apache2/sites-enabled/mercurial
NameVirtualHost *:8080
<VirtualHost *:8080>
UseCanonicalName Off
ServerAdmin webmaster@localhost
AddHandler cgi-script .cgi
ScriptAliasMatch ^(.*) /usr/lib/cgi-bin/hgwebdir.cgi/$1
</VirtualHost>我认为,正是因为已经存在的虚拟主机,我的I无法访问zabbix页面。怎样才能避开这一切?
发布于 2010-04-27 21:31:54
您有两个选项: 1:将zabbix放在不同的端口上;2:使它在普通vhost下可访问。
对于#1 update 000-默认为:
DocumentRoot /home/zabbix/public_html
AllowOverride FileInfo AuthConfig限制索引选项MultiViews索引SymLinksIfOwnerMatch IncludesNoExec命令允许,拒绝从所有订单拒绝,允许从所有拒绝
为#2
移动1000-默认为/etc/apache2/conf/zabbix.conf,并添加:
包括/etc/apache2/conf/zabbix.conf
在/etc/apache2/site中类似的Include语句--启用/railsapp
发布于 2010-04-27 21:39:45
您需要告诉Apache在额外的端口上侦听,然后将Rails应用程序的配置设置为使用不同的NameVirtualHost端口。
从您提供的配置信息判断,Apache配置中将有三个侦听参数:
Listen *:80
Listen *:443
Listen *:8080根据Apache的配置方式,这些文件可能分布在几个配置文件中。您希望为Rails应用程序添加第四个监听端口,例如8081:
Listen *:80
Listen *:443
Listen *:8080
Listen *:8081一旦这个额外的this指令到位,编辑/etc/apache2/sites启用/railsapp文件,并将第一个NameVirtualHost指令更改为8081,例如:
NameVirtualHost *:8081
NameVirtualHost *:443
....重新启动Apache,您将在80上找到zabbix,在8081/443上找到Rails应用程序,在8080上找到Mercurial。
然而
如果您可以在内部网络中设置DNS记录(我猜这是内部使用的),则可以设置按域名而不是端口区分的虚拟主机。然后,Apache只需要侦听默认端口80和443,您就可以区分使用域url的应用程序,例如:
zabbix.yourdomain.com
railsapp.yourdomain.com
mercurial.yourdomain.com这样做的好处是,您可以继续添加不同的虚拟主机,而不必每次使用新端口。web上有大量的文档解释如何设置(提示:请参阅Ubuntu文档)。
这种方法的唯一警告是,由于协议的工作方式,只有一个虚拟主机可以在特定端口(443)上处理HTTPS请求。但是,如果您只需要HTTPS访问其中一个虚拟主机,这不是问题,只是不要告诉其他主机使用HTTPS (443),您就可以了。
https://serverfault.com/questions/136414
复制相似问题