Назад | Перейти на главную страницу

Порт прослушивает, но не может подключиться удаленно

У меня есть сервер-катализатор, работающий на виртуальной машине.

[info] Hello powered by Catalyst 5.90103                                                                                                                                             
HTTP::Server::PSGI: Accepting connections at http://0:3009/

И подключение к виртуальной машине

vagrant@precise32:/var/log/apache2$ curl 'http://localhost:3009'
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
etc ...

Порт, кажется, слушает

vagrant@precise32:/var/log/apache2$ netstat -an | grep "LISTEN "
tcp        0      0 0.0.0.0:36300           0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:3009            0.0.0.0:*               LISTEN     

При удаленном подключении я вижу порт 80, но не порт 3009

curl 'http://localhost:80'
curl: (52) Empty reply from server
curl 'http://localhost:3009'
curl: (7) Failed to connect to localhost port 3009: Connection refused

Я видел похожие темы, но ничего не помогло. Это iptables

vagrant@precise32:/var/log/apache2$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

И брандмауэр выключен

vagrant@precise32:/var/log/apache2$ sudo ufw status  
Status: inactive

Я новичок в виртуальной машине, я не уверен, что это проблема хостов, проблема с apache или проблема с катайлом. Я попытался запустить сервер Python, но тоже не смог подключиться к нему. Мы очень ценим все советы. Спасибо

РЕДАКТИРОВАТЬ - я смотрел похожие сообщения, общие решения не включают порты прослушивания или брандмауэр. Я не думаю, что здесь применимо то же самое.

Вы пытаетесь получить доступ к приложению на бродячем ящике, прослушивающем порт 3009, используя адрес localhost удаленно. Чтобы это сработало, вам необходимо правильно настроить переадресацию портов, как указано в документе vagrant: https://docs.vagrantup.com/v2/getting-started/networking.html

Проверьте и убедитесь, что он настроен правильно и что запрос на http://localhost:3009 перенаправляется в бродячий ящик. Вы также должны убедиться, что ваш локальный брандмауэр не блокирует соединение с портом.