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”.
źródło
Odpowiedzi:
Napotykasz tutaj kilka problemów. Jednym z nich jest to, że
iisexpress.exe
tak naprawdę nie jest to proces odpowiedzialny za nasłuchiwanie ruchu HTTP. Ta funkcjonalność jest zaimplementowanahttp.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 dlaiisexpress.exe
nic nie robi.Po drugie,
http.sys
domyś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średnictwemhttp.sys
:Zamień
MACHNAME
na nazwę hosta, która będzie używana do kontaktowania się z witryną iPORT
na 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).źródło