Apache: как я могу получить доступ к своей веб-странице с компьютера за пределами моей сети? - PullRequest
8 голосов
/ 26 февраля 2012

Я хочу получить доступ к своей веб-странице с компьютера за пределами сети.Наша сеть имеет IP-адреса, такие как 192.168.0.1-192.168.0.255.Сеть подключена к Интернету через локальный шлюз 192.168.0.1 и получает доступ к DNS-серверу 193.xxx.xxx.xxx.

Допустим, мой компьютер имеет IP 192.168.0.50.Как я могу получить мой сайт с моего сервера (Apache) с компьютера, который не принадлежит нашей сети (скажем, 254.231.52.xxx)?

Спасибо!

Ответы [ 5 ]

12 голосов
/ 26 февраля 2012

Краткий ответ:

Решением этой проблемы будет определение «внешнего IP» вашего маршрутизатора и включение переадресации портов для портов 80 и 443 на ваш локальный IP.

Длинный ответ:

Интернет разделен на «публичные» и «частные» IP-пространства.Частные IP-адреса обычно не доступны напрямую с «публичного» IP-адреса.IP-адреса из 192.168.0.1-255 принадлежат одной из этих частных подсетей.

Ваш маршрутизатор (дома) обычно имеет несколько IP-адресов.Один или несколько из вашей локальной частной сети (192.168.0.X) и один из вашего локального интернет-провайдера (я думаю, что-то вроде 193.xxx.xxx.xxx, потому что ваш DNS находится в этой сети), который находится в «публичном» пространстве.

Чтобы подключиться к вашему компьютеру с помощью частного IP-адреса с общедоступного IP-адреса, такого как упомянутый 254.231.52.xxx, вам необходимо подключиться к общему IP-адресу вашего маршрутизатора (193 ... один).Вам также необходимо включить механизм, который называется «переадресация портов».Этот effectivley принимает весь интернет-трафик, поступающий на общедоступный IP-адрес вашего маршрутизатора через перенаправленные порты, и передает его на частный IP-адрес, на который вы настроили переадресацию.Например, 254.231.52 .. -> 193 ...: 80 -> 192.168 ...: 80 Обычно домашние маршрутизаторы имеют страницу конфигурации, где вы можете сделать это.Возможно, вам понадобятся следующие порты: 80 (http) и 443. (https).

Другая возможность - использование так называемых http-прокси, которые также обычно поддерживаются в качестве варианта конфигурации домашних маршрутизаторов.Вы должны обратиться к руководству вашего маршрутизатора для инструкций по конфигурации этого.

1 голос
/ 26 февраля 2012

Большинство шлюзов (маршрутизатор) имеют опцию VirtualServer, которую можно указать на локальный сервер (192.168.0.50)

Вы можете использовать что-то вроде dyndns.org для установки постоянного имени хоста на вашем сервере. то есть mylocalserver.dyndns.org

1 голос
/ 26 февраля 2012

Вам нужно идентифицировать ваш домашний компьютер по всему интернету, чтобы получить доступ извне.

Этот учебник может помочь вам http://kyokasuigetsu25.wordpress.com/2011/01/21/how-to-access-localhost-of-computers-outside-the-network/

Но если у вас есть только простые html-файлы (css, js тоже), вы можете использовать Dropbox и делиться папкой своих сайтов. Таким образом, вы можете работать локально, и файлы будут синхронизироваться с вашей общей папкой

Надеюсь, это поможет

0 голосов
/ 26 февраля 2012

Если у вас достаточно прав для настройки маршрутизатора (на компьютере шлюза), вы можете использовать «переадресацию портов» для этого.

Перейдите к настройкам маршрутизатора и настройте его так, чтобы он отправлял пакеты, которые он получает через порт 80, на ваш компьютер. Предполагая, что ваш маршрутизатор имеет действительный IP-адрес (скажем, x.x.x.x), вы можете получить доступ к вашему серверу Apache на: http://x.x.x.x/.

Вы можете использовать любой другой порт вместо 80 и получить доступ к вашему Apache через http://x.x.x.x:PORT/, конечно.

Если у вас нет достаточных привилегий, тогда мне в голову не придет ничего, кроме использования обратного туннелирования с использованием SSH или аналогичных протоколов.

0 голосов
/ 26 февраля 2012

Публичное имя вашей машины должно быть настроено в DNS, чтобы указывать на маршрутизатор вашей сети.Затем вам необходимо настроить маршрутизатор для перенаправления трафика с этим именем на рассматриваемый компьютер.Также необходимо настроить брандмауэр, чтобы разрешить это.

...