У меня есть сервер-катализатор, работающий на виртуальной машине.
[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
перенаправляется в бродячий ящик. Вы также должны убедиться, что ваш локальный брандмауэр не блокирует соединение с портом.