2016-10-01 4 views
0

Я запускаю сервер Fedora 24 в VirtualBox, с Apache, запущенным на порту 80. Я хочу открыть порт 3000, чтобы я мог запускать сайт Meteor на том же виртуальном сервер.Откройте порт для Meteor на Fedora Red Hat 24 в VirtualBox

Я попытался с помощью команды 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 

Сервер Fedora в 10.0.0.30 сообщает, что приложение Метеор работает ...

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

... но когда я подключаю из браузера в хост-машине, я получаю уведомление, что:

Этот сайт не может быть достигнуто

http://10.0.0.30:3000/ недостижим.

Когда я подключаюсь к простой ванилью http://10.0.0.30, сайт Apache отчетливо виден.

Что можно сделать, чтобы устранить эту проблему и решить ее?


EDIT:

/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> 

Я редактировал/и т.д./хостов/файлов на хост-машине:

127.0.0.1 localhost 
10.0.0.30 apache 
10.0.0.30 meteor 

Сейчас (на моей машине по крайней мере) URL http://apache/ открывает сайт, обслуживаемый Apache и http://meteor/ открывает приложение Метеор работает на порту 3000.