2016-10-01 40 views
0

我在VirtualBox中運行Fedora 24服務器,Apache運行在端口80上。我想打開端口3000,以便我可以在相同的虛擬機上運行Meteor站點服務器。在VirtualBox中爲Fedora Red Hat 24上的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的服務器...

App running at: http://localhost:3000/ 

...但是當我從主機瀏覽器連接,我得到的通知是:

本網站無法到達

http://10.0.0.30: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

SELinux是否阻止訪問? – Jakuje

+0

@Jakuje即使SELinux被禁用(稍後重啓一次),問題仍然存在。我認爲Meteor只創建tcp流量是錯誤的嗎? –

+0

我不知道如何解決這個問題,但另一種方法是在虛擬目錄中設置一個帶有反向代理的Apache配置,以便10.0.0.30:80/meteor將傳遞到端口3000.這種方法是如果你想運行幾個流星服務器也是很好的,它完全避免了防火牆問題,因爲80端口通常不會摔角:) – Mikkel

回答

0

我還沒有解決防火牆問題,但現在我有一個解決方法。

繼從@MikeKing的建議,並使用由Jsaac here提出的意見,我說在/etc/httpd/conf/httpd.conf在Fedora的情況下最終在VirtualBox中運行以下:

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 /主機主機上的/文件:

127.0.0.1 localhost 
10.0.0.30 apache 
10.0.0.30 meteor 

現在(我的機器上至少)網址http://apache/打開被Apache服務的網站,並http://meteor/打開3000端口上運行的應用程序流星。