我正在关注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>
我认为这是因为现有的虚拟主机,我无法访问zabbix页面。 如何规避这个?
你有几个select, 1:将zabbix放在不同的端口上; 2:使其在正常的虚拟主机下可访问。
#1更新000-默认为:
DocumentRoot / home / zabbix / public_html
AllowOverride FileInfo AuthConfig限制索引选项多视图索引SymLinksIfOwnerMatch IncludesNoExec命令允许,拒绝允许所有命令拒绝,允许全部拒绝
对于#2
将000-默认移动到/etc/apache2/conf/zabbix.conf并添加:
包括/etc/apache2/conf/zabbix.conf
在/ etc / apache2 / sites-enabled / railsapp中类似的Include语句之上
您将需要告诉Apache侦听额外的端口,然后将您的Rails应用程序的configuration设置为使用不同的NameVirtualHost端口。
根据您提供的configuration信息,您的Apacheconfiguration中将会有三个Listen参数:
Listen *:80 Listen *:443 Listen *:8080
根据Apache的configuration情况,这些可能会分散在几个configuration文件中。 你想添加第四个端口来听你的Rails应用程序,例如8081:
Listen *:80 Listen *:443 Listen *:8080 Listen *:8081
一旦这个额外的Listen指令到位,编辑/ etc / apache2 / sites-enabled / railsapp文件并将第一个NameVirtualHost指令改为8081,例如:
NameVirtualHost *:8081 NameVirtualHost *:443 ....
重启Apache,你会发现80上的zabbix,8081/443上的Rails应用和8080上的Mercurial。
然而….
如果您可以在您的内部networking中设置DNSlogging(我猜这是用于内部使用),您可以设置虚拟主机,通过域名而不是端口来区分。 Apache然后只需要听取默认端口80和443,你将区分使用域的URL的应用程序,例如:
zabbix.yourdomain.com railsapp.yourdomain.com mercurial.yourdomain.com
这样做的好处是您可以继续添加不同的虚拟主机,而无需每次都使用新的端口。 网上有很多文档解释如何设置( 提示:请参阅Ubuntu文档)。
唯一需要注意的是,由于协议的工作方式,只有一个虚拟主机可以处理特定端口上的HTTPS请求(443)。 但是,如果您只需要HTTPS访问其中一个虚拟主机,这不是问题,只是不要告诉其他主机使用HTTPS(443),你会没事的。