我在VirtualBox中运行Fedora 24服务器,Apache在端口80上运行。我想打开端口3000,以便我可以在同一个虚拟服务器上运行Meteor站点。
我尝试过使用CLI命令firewall-c md --zone=public --add-port=3000/tcp --permanent
,从表面上看,这似乎有效:
#firewall-cmd --zone=public --list-ports
80/tcp
# firewall-cmd --zone=public --add-port=3000/tcp --permanent
success
# systemctl restart firewalld
# firewall-cmd --zone=public --list-ports
3000/tcp 80/tcp
10.0.0.30的Fedora服务器报告Meteor应用正在运行......
App running at: http://localhost:3000/
...但是当我从主机中的浏览器连接时,我收到一条通知:
无法访问此网站
当我连接到普通香草http://10.0.0.30时,Apache网站清晰可见。
我该怎么做才能排除故障并解决它?
编辑:
/etc/selinux/config/
看起来像这样,但即使它被禁用,问题也无法解决:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=permissive
# SELINUXTYPE= can take one of these three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
答案 0 :(得分:0)
我还没有解决防火墙问题,但现在我有一个解决方法。
根据@MikeKing的建议,并使用Jsaac here提供的建议,我在VirtualBox中运行的Fedora实例的/etc/httpd/conf/httpd.conf
末尾添加了以下内容:
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName apache
</VirtualHost>
<VirtualHost *:80>
ServerName meteor
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
</VirtualHost>
我编辑了主机上的/ etc / hosts /文件:
127.0.0.1 localhost
10.0.0.30 apache
10.0.0.30 meteor
现在(至少在我的机器上)网址http://apache/打开Apache提供的网站,http://meteor/打开在端口3000上运行的Meteor应用。