我正在尝试设置一个虚拟主机/重定向点,以便可以在一个站点上拥有两个不同的系统。
到目前为止,这就是我所拥有的:
NameVirtualHost 89.104.220.207:80
NameVirtualHost 89.104.220.207:1500
#
# NOTE: NameVirtualHost cannot be used without a port specifier
# (e.g. :80) if mod_ssl is being used, due to the nature of the
# SSL protocol.
#
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
<VirtualHost 89.104.220.207:80>
ServerAdmin [email protected]
DocumentRoot /var/www/******/html
ServerName www.******.dk
ServerAlias ******.dk
ErrorLog /var/www/*****.dk/logs/error_log
</VirtualHost>
<VirtualHost 89.104.220.207:1500>
ServerAdmin [email protected]
DocumentRoot /var/www/******/
ServerName *******
ServerAlias ******.dk
ErrorLog /var/www/*****.dk/logs/error_log
</VirtualHost>
我的想法是,如果我去 89.104.220.207:1500 那么我应该打开/var/www/foo/
但是这似乎不起作用:当我尝试为 foo 输入 I 时,什么都没有发生,或者我得到了一个错误。如果你转到 89.104.220.207:1500,你会看到你得到了一个错误。
答案1
为了apache
监听非标准端口,您需要添加Listen
指令httpd.conf
:
Listen 1500
在SELinux
受保护的机器上,这将导致apache
启动失败,因为SELinux
将阻止对所有非标准 http 端口的访问。
解决此问题的方法:
# semanage port -a -t http_port_t -p tcp 1500
然后确认已添加:
# semanage port -l | grep '^http_port_t'
http_port_t tcp 1500, 80, 443, 488, 8008, 8009, 8443
注意: semanage
在policycoreutils-python
包装内。
apache
现在应该启动并且虚拟主机应该在非标准端口上工作。
请记住,当使用非标准端口时,可能需要打开防火墙:
# iptables -I INPUT -p tcp --dport 1500 -j ACCEPT
# service iptables save