Jak skonfigurować Zaporę systemu Windows, aby zezwalać na wszystkie porty używane przez IIS Express


9

Rozumiem ten artykuł technet na stronie, która mnie tam zaprowadziła *, że mogę skonfigurować Zaporę systemu Windows, aby zezwalać na cały ruch przychodzący na dowolnym porcie używanym przez określony plik wykonywalny.

Zdaję sobie sprawę, że odpowiedzią na defacto może być „Nie rób tego”, więc proszę zrozum ; Używam Visual Studio i IIS Express na maszynie wirtualnej i chcę mieć możliwość połączenia się z systemem operacyjnym hosta w celach testowych, a tym samym nie przejmuję się konsekwencjami bezpieczeństwa otwierania wszystkich portów używanych przez IIS Express.

Utworzyłem regułę ruchu przychodzącego z ustawionym Programem %ProgramFiles% (x86)\IIS Express\iisexpress.exe, który jest plikiem wykonywalnym działającym zgodnie z menedżerem zadań. Wszystkie pozostałe specyfikacje reguł są puste (dowolny adres lokalny, dowolny adres zdalny i port lokalny, dowolny port zdalny, „dowolny” dozwolony użytkownik, „dowolny” dozwolony komputer). Jednak połączenie działa tylko wtedy, gdy mam regułę dla konkretnego portu obsługiwanego przez IIS Express.

Ponieważ ułatwiłoby mi to życie (i zasadniczo w zasadzie, ponieważ technet mówi, że powinno działać), wolałbym nie dodawać reguły zapory dla każdej tworzonej aplikacji.

* Zadanie „Utwórz regułę, która pozwala programowi nasłuchiwać i akceptować przychodzący ruch sieciowy na wszystkich wymaganych portach”.


1
Ponieważ wspomniałeś, że bezpieczeństwo nie jest problemem, czy jest jakiś problem z otwarciem wszystkich portów?
Abraxas,

Po prostu wyłącz zaporę w systemie operacyjnym gościa .. :-) Zawsze wyłączam wszystko, co mogę w moich systemach operacyjnych gościa ..
Kody Brown

Odpowiedzi:


1

Napotykasz tutaj kilka problemów. Jednym z nich jest to, że iisexpress.exetak naprawdę nie jest to proces odpowiedzialny za nasłuchiwanie ruchu HTTP. Ta funkcjonalność jest zaimplementowana http.sys jako część jądra stosu sieciowego Windows w trybie jądra . (Dokonano tego ze względu na wydajność. Aby uzyskać więcej informacji, zobacz Wprowadzenie do architektur IIS .) Dlatego tworzenie reguły dla iisexpress.exenic nie robi.

Po drugie, http.sysdomyślnie nie zezwala programom działającym, ponieważ osoby niebędące administratorami nasłuchują na innych komputerach. Zgodnie z częścią Obsługa ruchu zewnętrznego za pomocą WebMatrix , należy uruchomić to polecenie w administracyjnym wierszu polecenia, aby umożliwić wszystkim użytkownikom słuchanie innych komputerów za pośrednictwem http.sys:

netsh http add urlacl url=http://MACHNAME:PORT/ user=everyone

Zamień MACHNAMEna nazwę hosta, która będzie używana do kontaktowania się z witryną i PORTna port ruchu. Przeczytałem, że użycie *zamiast konkretnej nazwy hosta pozwala nasłuchiwać na wszystkich nazwach / interfejsach, ale nie testowałem tego osobiście, a +zamiast tego używa się niektórych dokumentów . Tak czy inaczej, po ustawieniu listy kontroli dostępu można utworzyć regułę zapory dla portu .

Dalsza lektura: Konfigurowanie HTTP i HTTPS .

Side Komentarz: Jest rzeczywista zmienna, że punkty do wersji 32-bitowej Program Files: %PROGRAMFILES(X86)%. (Ścieżka nie była twoim problemem).

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.