Я знаю, что в Интернете доступны различные документы, в которых описываются шаги, позволяющие это сделать, но я не могу решить проблему - у меня есть проект angularjs, который выполняется на локальном хосте (а os - это ubuntu 14.04), я хочу получить к нему доступ через внешний ip.
Вот фрагмент из файла конфигурации проекта -
options: {
port: 9000,
// Change this to '0.0.0.0' to access the server from outside.
//hostname: 'localhost'
...
...
}
Я изменил localhost
на 0.0.0.0
Это теперь позволяет мне получить доступ к приложению по внутреннему IP -
192.168.X.X:9000
Проблема в том, что я не могу получить доступ к тому же внешнему IP. У меня есть маршрутизатор, и я настроил переадресацию портов в конфигурации маршрутизатора, которая, как я надеялся, может решить проблему, но это не так.
Я также попытался добавить следующую строку в / etc / hosts -
<my external ip> localhost
<my external ip> 127.0.0.1
Это не имеет значения. Я не уверен, что не так, и не могу понять даже после нескольких дней поиска решения.
обновить -
Похоже, что это ограничение для интернет-соединения, которое не позволяет такую переадресацию портов. Хотя я могу успешно сделать переадресацию порта ssh.
Я попробовал то же самое в другой сети и смог получить доступ к localhost по внешнему ip.
sudo netstat -pant | grep 9000
на сервере?Ответы:
Многие маршрутизаторы не принимают / пересылают пакеты, отправленные извне, возвращаясь (т. Е. Предназначенные для их собственных общедоступных IP-адресов). У меня были такие проблемы и в прошлом.
Также, насколько мне известно, вы не можете использовать файл hosts для перенаправления трафика с одного IP на другой. Это действительно просто для определения имен хостов, которые ваш компьютер не будет запрашивать у сервера имён для получения их IP.
Попробуйте использовать такой сервис, как Web Sniffer, для доступа к вашему серверу или просто к какой-либо службе сканирования портов. Это может сделать это?
Редактировать: если вам действительно нужно использовать динамическое / публичное имя хоста, например, для тестирования какого-либо сервера, добавьте его в локальный файл хостов, но позвольте ему указывать на IP-адрес локальной сети, а не на публичный / внешний WAN-адрес.
источник