Как я могу сделать мой домашний компьютер веб-сервером?

32475
Glorfindel

Я использую Apache Tomcat на своем ПК. Мой компьютер подключен к маршрутизатору в моем доме, и маршрутизатор подключен к моему провайдеру. Теперь я хочу запустить сервер на своем ПК, чтобы мой друг мог просматривать мой сайт, размещенный на моем ПК. Если я захожу на сайт https://whatismyip.com, я знаю, что мой IP-адрес - xx.xx.xx.xx. Это IP моего роутера, наверное. Если я наберу http: //xx.xx.xx.xx в своем браузере, мой маршрутизатор запросит имя пользователя и пароль. Это означает, что мой друг может подключиться к моему роутеру. Как я могу разрешить им видеть сайт, размещенный на Tomcat, работающий на моем ПК?

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

Внутренний IP-адрес моего маршрутизатора - 192.162.1.1, а моего компьютера - 192.162.1.2.

8
Нет, не серверный сбой. Это конечный вопрос, а не системный вопрос. Это должно пойти на superuser.com. 14 лет назад 3
Возможно, что вы находитесь за прокси. 14 лет назад 0
Я так понимаю, этот компьютер работает под управлением Windows? ПК под управлением Linux потребует немного других инструкций. David Thornley 14 лет назад 0

7 ответов на вопрос

14

Вам нужно перенаправить запросы на веб-сервер (порт 80, вероятно) на ваш компьютер (.1.2). Вы настраиваете это на своем маршрутизаторе.

Обратите внимание, что это обычно упоминается как «Переадресация портов» на маршрутизаторах. Более простой, хотя и менее безопасный метод - использовать DMZ на вашем маршрутизаторе, чтобы открыть все порты для вашего веб-сервера. Иногда это облегчает размещение нескольких сервисов на вашем веб-сервере, таких как игровые серверы, серверы VoIP и т. Д. Will Eddins 14 лет назад 2
И будьте очень осторожны при открытии портов для входящих запросов. Там очень много людей, которые стучатся в порты со случайных IP-адресов, чтобы узнать, кто ответит. David Thornley 14 лет назад 1
11
Roy Rico

Вам нужно будет сделать несколько вещей:

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

  • Перенаправьте ваши веб-запросы на локальный компьютер, на ваш маршрутизатор. Ищите опцию «переадресация портов», которая заставит перенаправлять все запросы на определенный порт вашего маршрутизатора на IP-адрес вашей машины.

  • постарайтесь убедиться, что ваш внутренний IP-адрес остается прежним. Некоторые продвинутые маршрутизаторы могут зарезервировать определенный IP-адрес для MAC-адреса вашего компьютера, поэтому настройте эту конфигурацию на своем маршрутизаторе. Если программное обеспечение маршрутизатора не может этого сделать, вам, вероятно, придется обновлять свой внутренний IP-адрес в сопоставлении «переадресация портов» всякий раз, когда компьютер перезагружается (или каким-либо образом получает другой IP-адрес). Вы также можете настроить свой компьютер на использование жестко закодированного внутреннего IP-адреса, но это может добавить дополнительные проблемы, выходящие за рамки обсуждения.

  • если ваш провайдер предоставляет вам динамический IP-адрес, это может стать проблемой, отправляя вашему другу новый IP-адрес каждый раз, когда он меняется, так что вы можете подписаться на услугу динамического IP (www.dyndns.org), которая будет иметь программу, которая будет обновлять запись DNS для вас. В большинстве современных маршрутизаторов этот сервер встроен в прошивку, вы можете искать его, тогда вам не нужно запускать программное обеспечение на вашем компьютере.

  • по соображениям безопасности уменьшите количество других запросов, отправляемых на этот компьютер (например, общий доступ к файлам Windows, FTP, битовый торрент и т. д.).

  • Порт 80 является портом по умолчанию, используемым веб-браузерами и серверами, поэтому, когда вы заходите на сайт http://www.mysite.com, вы запрашиваете его на порту 80)

  • Порт 8009 является портом по умолчанию, используемым tomcat, поэтому, если вы используете tomcat, вы можете заменить порт 80 на порт 8009 ниже.

  • Вам не нужно настраивать другие порты для веб-сервера на локальном компьютере, вы можете настроить сопоставление маршрутизатора и оставить веб-сервер работающим на порте 80 или 8009 на вашем компьютере.

  • Например, я хочу использовать порт 12345, затем я могу настроить свой маршрутизатор так, чтобы любые запросы на порт 12345 на моем маршрутизаторе были отправлены на порт 80 (или 8009) на моей локальной машине. Это позволяет вам получить доступ к нашему веб-серверу на этом компьютере, просто перейдя по адресу http: // localhost / или http: // localhost: 8009 . Доступ к другим внутренним машинам в вашей сети будет осуществляться по IP-адресу ( http: //192.168.1 . X ), или вы можете отредактировать файлы хостов yoru и назначить имя.

  • Важно знать, что большинство блочных портов 80 (и других общих портов) интернет-провайдера не используются в качестве веб-сервера, поэтому даже если у вас есть все настроенные свойства на вашем конце, ваш друг все равно не сможет подключиться к порту 80 на вашей машине., Обычно это делается для того, чтобы клиенты интернет-провайдера выделяли больше денег для своих «деловых» предложений. Из-за этого вам, вероятно, придется открыть маршрутизатор на другом порту, если вы действительно хотите, чтобы ваш друг получил доступ к вашему веб-серверу. Вы будете хотеть держаться подальше от портов с малым количеством номеров, и вам также следует избегать использования порта, с которого настроен ваш маршрутизатор.

Если вы выполните все вышеперечисленное правильно, у вас должен быть стабильный URL-адрес (например, http://myusername.dyndns.org:12345 ), который ваши друзья могут добавлять в закладки и использовать по желанию.

6

Вам необходимо перенести HTTP (tcp / 80) на ваш компьютер (192.162.1.2). Каждый маршрутизатор немного отличается, поэтому вам нужно найти некоторые инструкции для вашей конкретной модели .

Если ваш роутер поддерживает UPnP, то (они не обрабатывают экран - не используют UPnP), вы также можете сделать это автоматически при необходимости (повышенная безопасность) за $$.

1

Вы должны перенаправить порт tomcat на маршрутизатор. Порт tomcat по умолчанию - 8080. Лучше изменить порт tomcat на 80. Чтобы изменить порт tomcat, выполните следующие шаги.

  1. Откройте папку tomcat \ conf на вашем компьютере
  2. Теперь с помощью текстового редактора вы должны открыть и изменить server.xml. Здесь вы должны указать следующую строку (строка 184) и изменить ее так, чтобы она изменилась с:

чтобы:

<Http10Connector port="80" secure="false" maxThreads="100" maxSpareThreads="50" minSpareThreads="10" /> 
  1. Запуск веб-сервера

От вашего роутера прямой порт 80 от вашего роутера до IP-адреса вашего ПК. Как только это будет сделано, попросите вашего друга зайти на ваш сайт, используя http: //xx.xx.xx.xx/webAppName . Здесь xx.xx.xx.xx - ваш IP-адрес, а webAppName - проект вашего сайта.

По умолчанию интернет-провайдеры блокируют порт 8080, поэтому вы должны изменить порт, который использует Tomcat.

Интернет-провайдеры обычно не блокируют порты по умолчанию. Это может иметь место в вашем городе / стране (я полагаю, США), но это, конечно, не так в целом. Во многих странах провайдеры на самом деле имеют довольно справедливые условия обслуживания, без какой-либо блокировки портов (или ограничения полосы пропускания в этом отношении). Mikael Auno 14 лет назад 0
Шахта блокирует порт 80, но позволяет 8080! Это отличается для каждого провайдера. Kevin Panko 14 лет назад 0
0
user5195

Если вы не заинтересованы в переадресации портов или если это звучит сложно, большинство маршрутизаторов имеют настройку, называемую DMZ. Поместите ваш веб-сервер (компьютер, на котором размещен веб-сайт) в демилитаризованную зону, чтобы его можно было увидеть из внешнего мира. Затем, если вы еще не зарегистрировали доменное имя, попросите вашего друга ввести свой IP в свой браузер.

Учитывая, что ОП явно не является экспертом в подобных вещах, я бы посоветовал не эффективно разблокировать все порты. Существует достаточно эксплойтов, и никто не сканирует порты и IP-адреса, чтобы попытаться использовать эти эксплойты, и тот, кому нужна помощь на этом уровне, вряд ли знает, как их остановить. DMZ вроде как "PWN ME". David Thornley 14 лет назад 0
0
Chris Nava

Вам нужно будет настроить «переадресацию портов» на маршрутизаторе порта 80 (http) на ваш ПК, а также я рекомендую настроить «статический DHCP», чтобы маршрутизатор всегда назначал один и тот же IP вашему ПК при загрузке.

Обратите внимание, что когда вы делаете это, вы подвергаете свой компьютер миру хакеров. Убедитесь, что у вас установлена ​​текущая версия apache / tomcat и вы регулярно применяете обновления.

Если ваш маршрутизатор поддерживает его, вы можете настроить «динамический DNS», чтобы дать вашей машине постоянное имя в Интернете (вместо иногда меняющегося IP-адреса.) Посетите dyndns.com и посмотрите на их бесплатные динамические параметры DNS.

0
Sathish Ravepati

Статический IP-адрес является обязательным ... Если у вас есть динамический IP-адрес, он постоянно меняется, и вам нужно сообщить своему другу о новом IP-адресе

Похожие вопросы