Jak włączyć żądanie zewnętrzne w IIS Express?
Jak włączyć zdalne żądania w IIS Express? Scott Guthrie napisał, że jest to możliwe, ale nie powiedział jak.
21 answers
Na stronie zespołu IIS pojawił się wpis na blogu wyjaśniający, jak włączyć zdalne połączenia w IIS Express . Oto stosowna część tego postu podsumowana:
Na Vista i Win7 uruchom następujące polecenie z wiersza administracyjnego:
netsh http add urlacl url=http://vaidesg:8080/ user=everyone
Dla XP, najpierw zainstaluj Windows XP Service Pack 2 Support Tools. Następnie uruchom następujące polecenie z wiersza administracyjnego:
httpcfg set urlacl /u http://vaidesg1:8080/ /a D:(A;;GX;;;WD)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-16 01:33:45
Mogą być trzy zmiany, które musisz wprowadzić.
- Tell IIS Express się wiąże ze wszystkimi adresami ip i nazwami hostów. W pliku
.config
. Typowo:- VS 2015:
$(solutionDir)\.vs\config\applicationhost.config
- %userprofile%\My Documents\IISExpress\config\applicationhost.config
- VS 2015:
Znajdź element wiążący Twoją witrynę i dodaj
<binding protocol="http" bindingInformation="*:8080:*" />
- Ustaw bit Windows o nazwie ' http.sys". Jako administrator uruchom polecenie:
netsh http add urlacl url=http://*:8080/ user=everyone
Gdzie everyone
jest grupą windows. Użyj podwójnych cudzysłowów dla grupy ze spacjami typu "Tout le monde".
-
Zezwalaj na IIS Express przez Zaporę systemu Windows.
Start / Zapora systemu Windows z zaawansowanymi zabezpieczeniami / reguły przychodzące / Nowa reguła...
Program
%ProgramFiles%\IIS Express\iisexpress.exe
Lub Port 8080 TCP
Teraz po uruchomieniu iisexpress.exe
powinieneś zobaczyć wiadomość taką jak
Pomyślnie zarejestrowany URL "http://*: 8080 / "dla witryny" hello world "aplikacja" / "
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-27 17:10:41
Pamiętam, że kilka miesięcy temu napotkałem te same problemy podczas próbowania tego przepływu pracy.
Dlatego napisałem proste narzędzie proxy specjalnie dla tego typu scenariuszy: https://github.com/icflorescu/iisexpress-proxy .
Używając IIS Express Proxy , wszystko staje się dość proste – nie ma potrzeby "netsh http add urlacl url=vaidesg:8080/ user=everyone" lub bałaganu z "applicationhost.config".
Po prostu wydaj to w Komendzie prompt:
iisexpress-proxy 8080 to 3000
... i wtedy możesz skierować swoje zdalne urządzenia do http://vaidesg:3000 .
W większości przypadków prostsze jest lepsze.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-30 15:23:59
Nic nie działało, dopóki nie znalazłem iisexpress-proxy .
Otwórz wiersz polecenia jako administrator, a następnie uruchom
npm install -g iisexpress-proxy
Then
iisexpress-proxy 51123 to 81
Zakładając, że projekt Visual Studio otworzy się na localhost:51123 i chcesz uzyskać dostęp na zewnętrznym adresie IP x.x.x. X:81
Edit: wystarczy wspomnieć, że działa świetnie z noip.com
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-17 20:04:29
Dzięki IISExpress
Dobrym zasobem jest Praca z SSL w czasie programowania jest łatwiejsza dzięki Iisexpress autorstwa Scotta Hanselmana.
To czego szukasz to sekcja uzyskanie IIS Express do obsługi zewnętrznie przez Port 80
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-05-25 04:12:57
Jako dodatek do tego:
netsh http add urlacl url=http://vaidesg:8080/ user=everyone
To będzie działać tylko na angielskich wersjach systemu Windows. Jeśli używasz zlokalizowanej wersji, musisz zastąpić "wszyscy" czymś innym, na przykład:
- "Iedereen" przy użyciu wersji holenderskiej
- "Jeder" przy użyciu wersji niemieckiej
- "Mindenki" przy użyciu wersji Węgierskiej
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-29 14:26:44
Rozwiązałem to instalacją "Conveyor by Keyoti" w Visual Studio Professional 2015. Przenośnik generuje zdalny adres (twój IP) z portem (45455), który umożliwia żądanie zewnętrzne. Przykład:
Conveyor umożliwia testowanie aplikacji internetowych z zewnętrznych tabletów i telefonów w sieci lub z emulatorów Androida (bez http://10.0.2.2:<hostport>
)
Kroki są w poniższym linku :
Https://marketplace.visualstudio.com/items?itemName=vs-publisher-1448185.ConveyorbyKeyoti
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-19 20:05:59
Jeśli pracujesz z Visual Studio, wykonaj następujące kroki, aby uzyskać dostęp do usługi IIS-Express przez adres IP:
- Get your host IP-Address:
ipconfig
in Windows Command Line -
GoTo
$(SolutionDir)\.vs\config\applicationHost.config
-
Znajdź
<site name="WebApplication3" id="2"> <application path="/" applicationPool="Clr4IntegratedAppPool"> <virtualDirectory path="/" physicalPath="C:\Users\user.name\Source\Repos\protoype-one\WebApplication3" /> </application> <bindings> <binding protocol="http" bindingInformation="*:62549:localhost" /> </bindings> </site>
-
Dodaj:
<binding protocol="http" bindingInformation="*:62549:192.168.178.108"/>
z Twoim adresem IP - Uruchom Visual Studio z uprawnieniami administratora i wszystko powinno działać
- może poszukaj problemów z firewallem, jeśli spróbujesz połączyć się ze zdalnym
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-23 06:09:11
Jeśli próbowałeś odpowiedzi pułkownika Panic , ale nie działa w Visual Studio, spróbuj tego:
Dołącz kolejne <binding />
do konfiguracji usługi IIS Express
<bindings>
<binding protocol="http" bindingInformation="*:8080:localhost" />
<binding protocol="http" bindingInformation="*:8080:hostname" />
</bindings>
W końcu musisz uruchomić Visual Studio jako Admin
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:18:23
Pomogło mi kliknięcie prawym przyciskiem myszy ikony "IISExpress", "Pokaż wszystkie aplikacje". Następnie wybierając stronę internetową i zobaczyłem, która aplicationhost.config używa, a korekta poszła idealnie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-18 08:31:53
Zaakceptowana odpowiedź na to pytanie jest przewodnikiem umożliwiającym IIS Express współpracę z webmatrix. Znalazłem Ten przewodnik bardziej przydatny, gdy próbuję go uruchomić z VS 2010.
Po prostu wykonałem kroki 3 i 4 (uruchamiając IIS Express jako administrator) i musiałem tymczasowo wyłączyć moją zaporę, aby ją uruchomić.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-05-16 00:19:20
[12]}To właśnie zrobiłem w systemie Windows 10 z Visual Studio 2015, aby włączyć zdalny dostęp, zarówno z http, jak i https:
Pierwszym krokiem jest powiązanie aplikacji z wewnętrznym adresem IP. Bieg cmd
-> ipconfig
zdobyć adres. Otwórz plik /{project folder}/.vs/config/applicationhost.config
i przewiń w dół, aż znajdziesz coś takiego:
<site name="Project.Web" id="2">
<application path="/">
<virtualDirectory path="/" physicalPath="C:\Project\Project.Web" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:12345:localhost" />
</bindings>
</site>
Dodaj dwa nowe wiązania pod bindings
. Możesz również użyć HTTPS, jeśli chcesz:
<binding protocol="http" bindingInformation="*:12345:192.168.1.15" />
<binding protocol="https" bindingInformation="*:44300:192.168.1.15" />
Dodaj następującą regułę do zapory sieciowej, Otwórz nowy monit cmd
jako administrator i uruchom następujące polecenia:
netsh advfirewall firewall add rule name="IISExpressWeb" dir=in protocol=tcp localport=12345 profile=private remoteip=localsubnet action=allow
netsh advfirewall firewall add rule name="IISExpressWebHttps" dir=in protocol=tcp localport=44300 profile=private remoteip=localsubnet action=allow
Teraz uruchom Visual Studio jako Administrator
. Kliknij prawym przyciskiem myszy plik projektu web projects i wybierz Properties
. Przejdź do zakładki Web
i kliknij Create Virtual Directory
. Jeśli Visual Studio nie jest uruchomione jako Administrator, prawdopodobnie nie powiedzie się. Teraz wszystko powinno działać.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-07 11:56:40
Możesz spróbować skonfigurować przekierowanie portów zamiast modyfikować konfigurację usługi IIS Express, dodając nowy HTTP.Zasady sys lub prowadzenie Visual Studio jako administrator.
Zasadniczo musisz przesłać IP:PORT
Twoja strona działa na innym wolnym porcie na twoim komputerze, ale na zewnętrznej karcie sieciowej, a nie na localhost.
Rzecz w tym ,że IIS Express (przynajmniej w Windows 10) wiąże się z [::1]:port
, co oznacza, że nasłuchuje na porcie IPv6. Musisz to wziąć pod uwagę.
Oto jak to działa - http://programmingflow.com/2017/02/25/iis-express-on-external-ip.html
Mam nadzieję, że to pomoże.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-07 09:42:13
Mam problemy z używaniem IIS Express W Win 8.1 i zewnętrznym żądaniem.
Wykonuję następujące kroki, aby debugować zewnętrzne żądanie:
- Install IIS
- Skonfiguruj Visual Studio do korzystania z lokalnych usług IIS (Właściwości strony w projekcie www)
- tworzenie ekskluzywnych aplikacji w IIS do pracy z moją aplikacją
- w moim projekcie używam klienta Oracle I musi być 32bits (64 bity nie działają z Visual Studio) następnie muszę pozwolić 32 bit w aplikacji Basen
- Skonfiguruj Zaporę systemu Windows, aby zezwalała na żądania w porcie 80 (reguły przychodzące)
To działa!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-03 19:51:16
Jeśli uruchamiasz Visual Studio z admina możesz dodać tylko
<binding protocol="http" bindingInformation="*:8080:*" />
Lub
<binding protocol="https" bindingInformation="*:8443:*" />
Do
%userprofile%\My Documents\IISExpress\config\applicationhost.config
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-26 23:34:14
Miałem włączone lokalne usługi IIS, więc utworzyłem regułę przepisywania na moim porcie debugowania... Myślę, że jest to lepsze i fajniejsze niż inne metody, ponieważ łatwiej jest usunąć po zakończeniu rozwijania... Oto jak wygląda przepisywanie..
<rewrite>
<rules>
<rule name="ReverseProxyInboundRule1" stopProcessing="true">
<match url="^dev/(.*)" />
<action type="Rewrite" url="http://localhost:47039/{R:1}" />
</rule>
</rules>
</rewrite>
VS pozwala również na rozwój przy użyciu lokalnych usług IIS bezpośrednio (co pozwala na zdalne połączenia), ale z kolei zawsze musisz uruchomić go jako administrator... Nie podoba mi się to.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-04 09:30:47
Nie byłem w stanie obsłużyć żądań iis do innych użytkowników w mojej sieci lokalnej, wszystko, co musiałem zrobić (oprócz powyższego), to zrestartować router BT Hub.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-01 10:01:09
Jest to szalenie niesamowite, a nawet obejmuje HTTPS z ładnymi nazwami domen:
Http://www.hanselman.com/blog/WorkingWithSSLAtDevelopmentTimeIsEasierWithIISExpress.aspx
Naprawdę zajebiste części nie mogłem znaleźć nigdzie indziej więc na wypadek gdyby powyższy link kiedyś zniknął:
> C:\Program Files (x86)\IIS Express>IisExpressAdminCmd.exe Usage:
> iisexpressadmincmd.exe <command> <parameters> Supported commands:
> setupFriendlyHostnameUrl -url:<url>
> deleteFriendlyHostnameUrl -url:<url>
> setupUrl -url:<url>
> deleteUrl -url:<url>
> setupSslUrl -url:<url> -CertHash:<value>
> setupSslUrl -url:<url> -UseSelfSigned
> deleteSslUrl -url:<url>
>
> Examples: 1) Configure "http.sys" and "hosts" file for friendly
> hostname "contoso": iisexpressadmincmd setupFriendlyHostnameUrl
> -url:http://contoso:80/ 2) Remove "http.sys" configuration and "hosts" file entry for the friendly hostname "contoso": iisexpressadmincmd
> deleteFriendlyHostnameUrl -url:http://contoso:80/
Powyższe narzędzie zarejestruje certyfikat SSL dla Ciebie! Jeśli używasz opcji-UseSelfSigned, jest to bardzo proste.
Jeśli chcesz robić rzeczy w trudny sposób, nieoczywiste jest to, że musisz powiedzieć HTTP.SYS jakiego certyfikatu użyć, jak to:
netsh http add sslcert ipport=0.0.0.0:443 appid={214124cd-d05b-4309-9af9-9caa44b2b74a} certhash=YOURCERTHASHHERE
Certhash to "odcisk kciuka", który można uzyskać z właściwości certyfikatu w MMC.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-03 05:18:34
Zrobiłem co następuje i udało mi się połączyć:
1) zmieniono Wiązanie konfiguracji IIS express z lokalnego hosta na '* '
Binding protocol= "http" bindowanie="*:8888:*"
2) zdefiniowana reguła przychodząca na zaporze, aby umożliwić konkretny port dla typu protokołu: tcp
3) Dodaj następujące polecenie, aby dodać konfigurację sieci dla Twojego portu: netsh http add urlacl url = http://*: 8888 / user=everyone
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-21 20:02:08
Rozwiązałem ten problem używając podejścia odwrotnego serwera proxy.
Zainstalowałem serwer wamp i użyłem prostej funkcji odwrotnego proxy serwera WWW apache.
Dodałem Nowy port do nasłuchiwania serwera WWW Apache (8081). Następnie dodałem konfigurację proxy jako virtualhost dla tego portu.
<VirtualHost *:8081>
ProxyPass / http://localhost:46935/
ProxyPassReverse / http://localhost:46935/
</VirtualHost>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-09 08:24:06
[okno Właściwości projektu]
Do tworzenia przy użyciu VisualStudio 2017 i projektu NetCore API:
1) W Cmd-Box: ipconfig /all do określenia adresu IP
2A) wprowadź pobrany adres IP w zakładce Właściwości projektu-> debugowanie
2b) Wybierz Port i podłącz go do adresu IP z kroku 2a.
3) Dodaj regułę allow w firewallu, aby zezwolić na przychodzący ruch TCP na wybranym porcie (mój firewall wyzwalany dialogiem: "zablokuj lub Dodaj regułę do firewall"). Add będzie w tym przypadku zrobić sztuczkę.
Wadą powyższego rozwiązania:
1) Jeśli używasz dynamicznego adresu IP, musisz powtórzyć powyższe kroki w przypadku przypisania innego adresu IP.
2) Twój serwer ma teraz otwarty Port, o którym możesz zapomnieć, ale ten otwarty port pozostaje zaproszeniem dla niechcianych gości.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-20 13:02:24