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

8

Я использую 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.

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

Ответы:

14

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


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

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

  • Обязательно измените пароль маршрутизатора и заблокируйте маршрутизатор, так как вы сделаете свой 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: // локальный / или же HTTP: // локальный: 8009 , Другие внутренние машины в вашей сети будут иметь доступ по IP-адресу ( Http: //192.168.1 , Икс ) или вы можете отредактировать ваши файлы хостов и назначить имя.

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

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

Roy Rico
источник
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
Шахта блокирует порт 80, но позволяет 8080! Это отличается для каждого провайдера.
Kevin Panko
0

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

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

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

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

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

Chris Nava
источник
0

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

Sathish Ravepati
источник