Як я можу зробити свій домашній ПК веб-сервером?


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.


3
Ні, не за замовчуванням на сервері. Це питання для ендузера, а не систематичне. Це має перейти на superuser.com.

Можливо, ви за проксі-сервером.

Я вважаю, цей ПК працює під управлінням Windows? Для ПК, на якому працює Linux, знадобляться дещо інші інструкції.
Девід Торнлі

Відповіді:


14

Потрібно пересилати запити на веб-сервер (можливо, порт 80) на вашу машину (.1.2). Ви налаштуєте це на маршрутизаторі.


2
Зауважте, це зазвичай називається "переадресація портів" на маршрутизаторах. Простіший, хоча і менш безпечний метод - використовувати DMZ на маршрутизаторі, щоб відкрити всі порти на своєму веб-сервері. Іноді це полегшується при розміщенні декількох сервісів на вашому веб-сервері, таких як ігрові сервери, VoIP-сервери тощо.
Буде Еддінс

1
І будьте дуже обережні щодо відкриття портів для вхідних запитів. Там багато людей стукає в порти випадковими IP-адресами, щоб побачити, хто відповідає.
Девід Торнлі

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: // localhost / або http: // localhost: 8009 . Інші внутрішні машини у вашій мережі повинні мати доступ за Ip-адресою ( http: //192.168.1 . X ) або ви можете редагувати файли хостів yoru та призначити ім'я.

  • Важливо знати, що більшість блокових портів 80 ISP (та інші загальні порти) використовуються як веб-сервер , тому навіть якщо у вас є все налаштоване властивість на вашому кінці, ваш друг все ще не зможе потрапити на порт 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 маршрутизатора вперед 80 від маршрутизатора до ip-адреси ПК. Після цього скажіть своєму другові отримати доступ до вашого веб-сайту за допомогою http: //xx.xx.xx.xx/webAppName . Тут xx.xx.xx.xx - ваша IP-адреса, а webAppName - проект вашого веб-сайту.

За замовчуванням провайдери заблокують порт 8080, тому вам доведеться змінити використання порта tomcat.


Як правило, провайдери не блокують порти за замовчуванням. Це може бути у вашому місті / країні (я думаю, США), але це, звичайно, не так. У багатьох країнах Інтернет-провайдери насправді мають досить справедливі умови обслуговування без блокування портів (або обмеження пропускної здатності з цього приводу).
Mikael Auno

Шахта блокує порт 80, але дозволяє 8080! Для кожного провайдера вона різна.
Кевін Панько

0

Якщо вас не цікавить переадресація портів або це звучить складно, більшість маршрутизаторів мають налаштування під назвою DMZ. Помістіть веб-сервер (машину, на якій розміщується веб-сайт) у DMZ, щоб він міг бачити його із зовнішнього світу. Потім, якщо ви не зареєстрували доменне ім’я, введіть свого друга в IP-адресу в його браузер.


Зважаючи на те, що ОП, мабуть, не є фахівцем у цій справі, я б запропонував не ефективно розблокувати всі порти. Там достатньо подвигів, і немає кінця, коли люди сканують порти та IP-адреси, щоб спробувати використовувати ці подвиги, і хтось, кому потрібна допомога на цьому рівні, швидше за все, не знає, як їх зупинити. DMZ начебто "PWN ME".
Девід Торнлі

0

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

Зауважте, що ви піддаєте свій ПК в світі хакерів, роблячи це. Переконайтеся, що у вас встановлена ​​поточна версія apache / tomcat та регулярно застосовуєте оновлення.

Якщо ваш маршрутизатор підтримує його, можливо, ви захочете налаштувати "динамічний DNS", щоб надати вашій машині постійне ім'я в Інтернеті (замість того, щоб іноді змінювати IP #.) Перевірте dyndns.com і подивіться на їхні безкоштовні динамічні параметри DNS.


0

Статичний IP є обов'язковим ... Якщо у вас є динамічний IP, він продовжує змінюватися і вам потрібно інтимувати свого друга про новий IP

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.