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

Я хочу получить доступ к своей веб-странице с компьютера за пределами сети. Наша сеть имеет такие 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)?

Благодарю вас!


person tzortzik    schedule 26.02.2012    source источник
comment
Переадресация портов будет одним из методов, который работает через шлюзы/маршрутизаторы. Другой вариант — настроить прокси-сервер HTTP на общедоступном шлюзе.   -  person Uwe Keim    schedule 26.02.2012


Ответы (5)


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

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

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

person Bernd May    schedule 26.02.2012
comment
Я нахожусь в кампусе и у меня нет доступа к маршрутизатору. Идея заключалась в том, чтобы получить доступ к моему серверу с работы без передачи файлов из моего пространства в рабочее пространство. Вывод таков, что я ничего не могу сделать для доступа к своему серверу. Благодарю вас! - person tzortzik; 26.02.2012

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

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

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

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

person Mc-    schedule 26.02.2012

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

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

person Bjørne Malmanger    schedule 26.02.2012

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

person Roland Smith    schedule 26.02.2012

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

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

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

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

person Mehdi Behrooz    schedule 26.02.2012