Jak mogę zmienić swój domowy komputer w serwer WWW?

8

Na komputerze uruchamiam Apache Tomcat. Mój komputer jest podłączony do routera w moim domu, a router jest podłączony do mojego usługodawcy internetowego. Teraz chcę uruchomić serwer na moim komputerze, aby mój przyjaciel mógł zobaczyć moją witrynę hostowaną na moim komputerze. Jeśli przejdę na stronę https://whatismyip.com , wiem, że mój adres IP to xx.xx.xx.xx. To chyba adres IP mojego routera. Jeśli wpiszesz http: //xx.xx.xx.xx w mojej przeglądarce, wtedy mój router poprosi o nazwę użytkownika i hasło. Oznacza to, że mój przyjaciel może połączyć się z moim routerem. Jak mogę pozwolić im zobaczyć witrynę hostowaną w Tomcat na moim komputerze?

Nie chcę używać komercyjnego hostingu i chcę używać mojego komputera tylko jako serwera z kilku powodów.

Wewnętrzny adres IP mojego routera to 192.162.1.1, a mojego komputera to 192.162.1.2.

Glorfindel
źródło
3
Nie, nie błąd serwera. To pytanie dla użytkownika końcowego - nie sysadminowego. To powinno przejść do superuser.com.
Być może jesteś za proxy.
Rozumiem, że na tym komputerze działa system Windows? Komputer PC z systemem Linux wymagałby nieco innych instrukcji.
David Thornley,

Odpowiedzi:

14

Musisz przesłać żądania do serwera WWW (prawdopodobnie portu 80) na swój komputer (.1.2). Skonfigurujesz to na swoim routerze.


źródło
2
Uwaga: w routerach jest to zwykle nazywane „przekierowaniem portów”. Łatwiejszą, choć mniej bezpieczną metodą jest użycie DMZ na routerze, aby otworzyć wszystkie porty na serwerze WWW. Czasami ułatwia to hosting wielu usług na twoim serwerze, takich jak serwery gier, serwery VoIP itp.
Will Eddins 16.09.2009
1
I bardzo uważaj na otwieranie portów dla przychodzących żądań. Wiele osób puka do portów losowych adresów IP, aby zobaczyć, kto odpowiada.
David Thornley,
11

Będziesz musiał zrobić kilka rzeczy:

  • Pamiętaj, aby zmienić hasło routera i zablokować router, ponieważ będziesz publicznie udostępniać swój adres IP, konfiguracja routera jest bardzo ważna. Prawdopodobnie dobrym pomysłem byłoby pobranie najnowszego oprogramowania układowego, aby zapobiec exploitom bezpieczeństwa.

  • Przekaż żądania sieciowe do lokalnego komputera na routerze. Poszukaj opcji „przekierowania portów”, która wymusi przekierowanie wszystkich żądań do określonego portu routera na adres IP urządzenia

  • spróbuj upewnić się, że twój wewnętrzny adres IP pozostaje taki sam. Niektóre zaawansowane routery mogą rezerwować określony adres IP dla adresu MAC komputera, więc skonfiguruj tę konfigurację na routerze. Jeśli oprogramowanie routera nie może tego zrobić, prawdopodobnie będziesz musiał zaktualizować swój wewnętrzny adres IP w mapowaniu „przekierowania portów” za każdym razem, gdy komputer uruchomi się ponownie (lub w jakiś sposób uzyska inny adres IP). Możesz także skonfigurować swój komputer, aby używał zakodowanego wewnętrznego adresu IP, ale może to również powodować dodatkowe problemy poza zakresem omawiania tutaj.

  • jeśli jesteś dostawcą usług internetowych, otrzymasz dynamiczny adres IP, może to być problem z wysyłaniem znajomemu nowego adresu IP za każdym razem, gdy się zmienia, abyś mógł zarejestrować się w celu uzyskania dynamicznej usługi IP (www.dyndns.org), która będzie miał program, który zaktualizuje dla ciebie wpis dns. Większość nowoczesnych routerów ma ten serwer wbudowany w oprogramowanie układowe, możesz go szukać, a następnie nie musisz uruchamiać oprogramowania na swoim komputerze.

  • ze względów bezpieczeństwa zmniejsz liczbę innych żądań wysyłanych do tego komputera (np. udostępnianie plików systemu Windows, ftp, bit torrent itp.).

  • Port 80 jest domyślnym portem używanym przez przeglądarki internetowe i serwery, więc kiedy wchodzisz na stronę http://www.mysite.com , żądasz go na porcie 80)

  • Port 8009 jest domyślnym portem używanym przez tomcat, więc jeśli używasz tomcat, możesz zamienić port 80 na port 8009 poniżej.

  • Nie musisz wykonywać żadnej innej konfiguracji portu dla serwera WWW na twoim komputerze lokalnym, możesz zlecić routerowi mapowanie i pozostawić serwer WWW uruchomiony na porcie 80 lub 8009 na twoim komputerze.

  • Na przykład powiedz, że chcę użyć portu 12345, a następnie mogę skonfigurować router, aby wszelkie żądania na porcie 12345 na moim routerze były wysyłane do portu 80 (lub 8009) na moim komputerze lokalnym. Dzięki temu możesz uzyskać dostęp do naszego serwera WWW na tym komputerze, przechodząc do http: // localhost / lub http: // localhost: 8009 . Inne urządzenia wewnętrzne w twojej sieci będą musiały uzyskać dostęp według adresu IP ( http: //192.168.1 . X ) lub możesz edytować pliki hostów yoru i przypisać nazwę.

  • Ważne jest, aby wiedzieć, że większość portu ISP blokuje port 80 (i inne wspólne porty) przed użyciem go jako serwer WWW , więc nawet jeśli masz skonfigurowane wszystkie właściwości po swojej stronie, twój przyjaciel może nadal nie być w stanie trafić do portu 80 na twoim komputerze . Zazwyczaj odbywa się to w taki sposób, aby klienci ISP wydali więcej gotówki za swoje oferty „biznesowe”. Z tego powodu prawdopodobnie będziesz musiał otworzyć router na innym porcie, jeśli naprawdę chcesz, aby twój znajomy miał dostęp do twojego serwera internetowego. Będziesz chciał trzymać się z daleka od portów o niskiej liczbie i unikniesz używania portu, z którego skonfigurowany jest router.

Jeśli wykonasz wszystkie powyższe czynności poprawnie, powinieneś mieć stabilny adres URL (taki jak http://nazwa_użytkownika.dyndns.org:12345 ), który Twoi znajomi mogą dodawać do zakładek i używać do woli

Roy Rico
źródło
1

Musisz przekazać swój port Tomcat na routerze. Domyślny port tomcat to 8080. Lepiej jest zmienić port tomcat na 80. Wykonaj następujące kroki, aby zmienić port tomcat

  1. Otwórz folder tomcat \ conf na swoim komputerze
  2. Teraz za pomocą edytora tekstu musisz otworzyć i zmodyfikować plik server.xml. Tutaj musisz zidentyfikować następujący wiersz (wiersz 184) i zmodyfikować go, aby zmienił się z:

do:

<Http10Connector port="80"
secure="false"
maxThreads="100"
maxSpareThreads="50"
minSpareThreads="10" />
  1. Uruchom serwer WWW

Z routera przekieruj port 80 z routera na adres IP komputera. Po zakończeniu powiedz znajomemu, aby uzyskał dostęp do witryny za pomocą http: //xx.xx.xx.xx/webAppName . Tutaj xx.xx.xx.xx to Twój adres IP, a webAppName to projekt Twojej witryny.

Domyślnie dostawcy usług internetowych blokują port 8080, więc musisz zmienić port, z którego korzysta tomcat.


źródło
Dostawcy usług internetowych zazwyczaj nie blokują domyślnie portów. Może tak być w twoim mieście / kraju (domyślam się, że USA), ale z pewnością tak nie jest w ogóle. W wielu krajach dostawcy usług internetowych mają dość uczciwe warunki świadczenia usług, bez blokowania portów (ani ograniczania przepustowości w tym zakresie).
Mikael Auno,
Mój blok blokuje port 80, ale pozwala na 8080! Jest różny dla każdego dostawcy usług internetowych.
Kevin Panko
0

Jeśli nie jesteś zainteresowany przekierowaniem portów lub brzmi to skomplikowanie, większość routerów ma ustawienie DMZ. Umieść swój serwer internetowy (maszynę, która obsługuje witrynę) w strefie DMZ, aby można go było oglądać ze świata zewnętrznego. Następnie, jeśli nie zarejestrowałeś nazwy domeny, poproś znajomego o wpisanie adresu IP w przeglądarce.

użytkownik5195
źródło
Biorąc pod uwagę, że OP najwyraźniej nie jest ekspertem w tego typu sprawach, sugerowałbym, aby nie odblokowywać skutecznie wszystkich portów. Istnieje wystarczająco dużo exploitów i nie ma końca, ludzie skanują porty i adresy IP, aby spróbować wykorzystać te exploity, a ktoś, kto potrzebuje pomocy na tym poziomie, prawdopodobnie nie będzie wiedział, jak je zatrzymać. DMZ jest trochę jak „PWN ME”.
David Thornley,
0

Konieczne będzie skonfigurowanie „przekierowania portów” na routerze portu 80 (http) na komputerze, a także zalecam skonfigurowanie „statycznego DHCP”, aby router zawsze przypisywał to samo IP do komputera podczas rozruchu.

Pamiętaj, że wystawiając komputer na działanie hakerów, możesz to zrobić. Upewnij się, że masz zainstalowaną aktualną wersję apache / tomcat i że regularnie stosujesz aktualizacje.

Jeśli router go obsługuje, możesz skonfigurować „dynamiczny DNS”, aby nadać swojemu urządzeniu stałą nazwę w Internecie (zamiast czasami zmieniającego IP #). Sprawdź dyndns.com i sprawdź ich bezpłatne opcje dynamicznego DNS.

Chris Nava
źródło
0

Statyczny adres IP jest koniecznością ... Jeśli masz dynamiczny adres IP, ciągle się zmienia i musisz poinformować znajomego o nowym adresie IP

Satish Ravipati
źródło