W domu mam prostą konfigurację sieciową obejmującą 2 maszyny.
Na jednym komputerze mam witrynę hostowaną przez IIS7. Zamiast standardowego localhost/index.htm
adresu dodałem wpis w HOSTS
pliku wskazujący lokalny adres IP (127.0.0.1) do tej domeny - www.mysite.dev
.
Mogę wejść na stronę www.mysite.dev
bez problemu.
co chciałbym zrobić, to móc przeglądać tę witrynę z mojego innego komputera w sieci.
Początkowo zakładałem, że można to zrobić za pomocą takiego adresu URL
MACHINE-NAME/www.mysite.dev
, ale połączenie zawsze się kończy. Ale mogę pingować MACHINE-NAME
bez problemów.
Do celów testowych wyłączyłem zaporę systemu Windows na obu komputerach, ale bez radości.
Podobnie jak w przypadku typowego programisty internetowego, moje umiejętności sprzętowe / sieciowe są dość słabe.
Czy ktoś może zobaczyć, gdzie idę źle?
źródło
Odpowiedzi:
Jak powiedzieli inni, Twoja zapora sieciowa musi być skonfigurowana do przyjmowania połączeń przychodzących na porcie TCP 80 .
w win 7+ (łatwy sposób na kreacje)
Ponieważ ruch wychodzący (z serwera do świata zewnętrznego) jest domyślnie dozwolony. Oznacza to na przykład odpowiedzi http, które serwer sieciowy odsyła do zewnętrznych użytkowników i żądań
Jednak ruch przychodzący (pochodzący ze świata zewnętrznego do serwera) jest domyślnie blokowany , podobnie jak żądania internetowe użytkownika pochodzące z ich przeglądarki, która domyślnie nie może dotrzeć do serwera internetowego i należy go otworzyć.
Możesz także przyjrzeć się bliżej regułom ruchu przychodzącego i wychodzącego na tej stronie
źródło
mmc.exe wf.msc
.Jeśli hostujesz witrynę internetową na określonym porcie w usługach IIS, na przykład 4321 , musisz zezwolić na ten port również przez Zaporę systemu Windows. Oto kroki, które wykonałem wraz z odpowiedzią imanabidi, aby to zadziałało dla mnie:
źródło
Przede wszystkim spróbuj połączyć się z adresem IP LAN twojego serwera. Jeśli w usługach IIS skonfigurowano tylko jedną witrynę sieci Web, istnieje prawdopodobieństwo, że witryna zostanie wyskakująca.
Jeśli chcesz uzyskać do niego dostęp za pomocą nazwy, musisz dodać wpis w pliku HOSTS każdego komputera klienckiego, na którym chcesz przeglądać witrynę (oczywiście nie do 127.0.0.1, ale do lokalnego adresu IP twojego serwera).
Ponadto zapora sieciowa musi być skonfigurowana tak, aby akceptowała połączenia przychodzące na porcie 80.
Zwykle jest to punkt, w którym bardziej sensowne jest skonfigurowanie usługi DNS, w której można zarejestrować nazwy takie jak „mysite.dev” centralnie, bez konieczności majstrowania przy plikach hostów. Ale to inna historia i należy do superuser.com lub serverfault.com.
źródło
Otwórz ustawienia zapory. Następnie wyszukaj coś w rodzaju - Zezwól programowi lub funkcji na przepuszczanie przez zaporę. Jeśli na liście Usługi World Wide Web (HTTP) nie jest zaznaczone, zaznacz to i uruchom ponownie system.
Nasza maszyna jest gotowa do przyjmowania żądań przychodzących.
źródło
Bardzo późna odpowiedź, ale podkreślę pewien punkt, ponieważ musiałem sobie z tym poradzić lata temu, konfigurując moją witrynę IIS w sieci
168.192.x.x
lub przezhttp://his-pc-name
(nie zapomnij o części http)Upewnij się, że usługi IIS działają poprawnie na komputerze zdalnym, sprawdzając,
localhost
która witryna powinna obsługiwać domyślną witrynę. Upewnij się również, że Twoja zapora jest skonfigurowana tak, aby zezwalała na połączenie przez port 80 lub możesz po prostu wyłączyć zaporę na razie do celów testowych.źródło
Oprócz modyfikowania zapory, nie zapomnij dodać również powiązania portów!
Otwórz
$(SolutionDir)\.vs\config\applicationHost.config
i znajdź wiążące definicje, powinno wyglądać mniej więcej takPo prostu dodaj dodatkowe linie, aby odzwierciedlić adres IP komputera i wyznaczony port
Źródło: https://blog.falafel.com/expose-iis-express-site-local-network/
źródło
U mnie to zadziałało
źródło
Może być późno, ale dla każdej innej osoby, która może mieć taki problem w przyszłości, dla wszelkich połączeń, które chcesz nawiązać z serwerem (w tym przypadku maszyna, na której znajduje się aplikacja internetowa, niezależnie od tego, czy jest to iis czy xampp) trzeba zezwolić na połączenie lub ruch przez określony port, który będzie używany w zaporze
i gotowe
źródło
Po zainstalowaniu programu antywirusowego napotkałem ten problem i zauważyłem, że mój firewall automatycznie ustawił się jako włączony, teraz właśnie wyłączyłem firewall i to rozwiązało mój problem. Mam nadzieję, że to komuś pomoże :)
źródło
127.0.0.1 zawsze wskazuje na localhost. W sieci domowej powinieneś mieć adres IP przypisany przez router internetowy (dsl / modem kablowy / cokolwiek). Musisz powiązać swoją witrynę z tym adresem. Powinieneś wtedy móc użyć nazwy komputera, aby dostać się do witryny internetowej, ale zalecałbym faktyczną edycję pliku hosts danego komputera klienckiego, aby wskazać określoną nazwę na tym komputerze. Plik hosts można znaleźć w c: \ windows \ system32 \ drivers \ etc \ hosts (użyj notatnika), a wpis będzie wyglądał następująco:
źródło
Musisz wykonać następujące kroki.
Idź do IIS ->
Sites->
Kliknij na swojej stronie internetowej ->
W Akcji Kliknij na Edytuj uprawnienia ->
Zabezpieczenia ->
kliknij przycisk Dodaj ->
Zaawansowane ->
Znajdź teraz ->
Dodaj wszystkich użytkowników, w tym ->
i udzielić wszystkie uprawnienia innym użytkownikom ->
kliknij Ok.
Jeśli wykonasz powyższe czynności poprawnie, możesz uzyskać dostęp do swojej witryny internetowej za pomocą domeny.
Sugestia - nie dodawaj nazwy hosta do swojej witryny, ponieważ czasami stwarza problem. Dlatego hostuj swoją witrynę internetową, używając adresu IP swojego komputera.
źródło