serwer nie jest widoczny przy użyciu adresu IP


1

Kiedyś łatwo tworzyłem serwery na Uniksie, ale Windows daje mi pasowanie. Moim celem jest bardzo prosty serwer http na moim lokalnym komputerze z systemem Windows, dzięki czemu mogę uzyskać dostęp do niektórych danych osobowych, gdziekolwiek jestem.

Częścią bezpieczeństwa jest użycie niestandardowego portu dla protokołu http: protokół. (Rozumiem, że samo w sobie nie ma wielkiego bezpieczeństwa).

Stworzyłem (w C #) serwer działający dowolnie na porcie 100.

W przeglądarce na komputerze z serwerem przechodzę do: http: // localhost: 100 / test lub localhost: 100 / test, a moja strona internetowa (3 linie tekstu) wyświetla się w przeglądarce.

Mój adres IP LAN to 192.168.1.19

W tej samej przeglądarce na komputerze z serwerem, jeśli przejdę do: http://192.168.1.19:100/test lub 192.168.1.19:100/test, a w przeglądarce zostanie wyświetlony następujący komunikat:

Błędne żądanie - nieprawidłowa nazwa hosta

Błąd HTTP 400. Nazwa hosta żądania jest nieprawidłowa.

Próbowałem upewnić się, że zapora systemu Windows jest otwarta dla portu 100, ale nie jestem pewien, czy zrobiono to dobrze. (Ustawienie panelu sterowania kazało mi zidentyfikować plik wykonywalny serwera. Spodziewałem się powiedzieć mu, aby otworzył port 100, ale nie mogłem tego zrobić).

Byłbym wdzięczny za wszelkie sugestie dotyczące Windows, aby ten port był dostępny.

Nie doradzaj mi innych sposobów rozwiązania tego problemu, takich jak zdalny hosting lub ładowanie istniejącego pakietu serwerów. Naprawdę chcę to zrobić w ten sposób z kilku powodów zbyt skomplikowanych, by wyjaśnić tutaj.

Pracuję na komputerze z systemem Windows 10, ale widziałem ten sam problem na komputerze z systemem Windows XP Pro, który również wypróbowałem.


Czy upewniłeś się, że reguła zapory otwierającej port 100 jest zastosowana do typu sieci (domowej, osobistej lub publicznej), w której działa karta sieciowa? Nie wystarczy stworzyć regułę, aby otworzyć port, reguła musi być zastosowana do typu sieci, która odpowiada twojej karcie sieciowej.
ojs

Ponadto, aby upewnić się, że jest to problem z zaporą systemu Windows, czy całkowicie ją wyłączyłeś i czy strona się ładuje? I zakładając, że masz na myśli, że błąd Bad Request występuje podczas przeglądania z innego komputera, a nie tego, na którym znajduje się serwer? Jeśli tak, edytuj swój post, aby wyjaśnić.
czerwony

Więc stworzyłeś kod do zbudowania serwera. Chcesz, abyśmy rozwiązali problem z Twoim kodem, systemem operacyjnym, konfiguracją i siecią? Czy udowodniłeś, że Twój kod działa? Jak to zrobiłeś? Co się stanie, gdy spróbujesz 172.0.0.1:100 na komputerze z serwerem? Czy możesz pingować serwer? Dlaczego piszesz swój własny kod, skoro możesz po prostu zmieniać porty w Apache httpd.apache.org/docs/2.2/bind.html ? Czy masz folder o nazwie test, do którego napisany serwer ma dostęp? Skąd wiesz, że to działa?
Everett,

1
Na czerwono: powiedziałem konkretnie, że korzystałem z przeglądarki na tym samym komputerze, na którym działał serwer. Nie próbowałem całkowicie wyłączać zapory, aby ustalić, czy to jest problem. Dzięki, spróbuję tego.
Mark T

1
Do Everetta: Byłem konkretny w swoich potrzebach. Powiedziałem w moim poście, że działa poprawnie na localhost ... który jest taki sam jak 127.0.0.1. Jeśli chodzi o to, dlaczego nie uruchamiam Apache, powiedziałem w ostatnim akapicie, że mam powody ... dlaczego nie możesz tego zaakceptować? [Mój serwer wykona jedno konkretne zadanie, które musiałoby zostać zaimplementowane ze złożonymi skryptami w Apache ... i musiałbym skonfigurować Apache, aby wyłączał wszystkie dodatkowe funkcje, których NIE chcę, jak każdy dodany bit to kolejna możliwość dziury w zabezpieczeniach. I to tylko jeden z moich wielu powodów.] Przeczytaj uważniej.
Mark T
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.