1 Po edycji pliku applicationhost.config (znajdującego się w folderze IISExpress w twoich dokumentach), twoje powiązania witryny powinny wyglądać jak poniżej:
<bindings>
<binding protocol="http" bindingInformation="*:8080:*" />
</bindings>
Wiązania składają się z trzech części. Najpierw adres IP lub lista, lub jak w tym przypadku, symbol wieloznaczny. Po drugie numer portu, a po trzecie nazwa hosta, lista lub symbol wieloznaczny (do filtrowania według Host
nagłówka). Do celów programistycznych najbardziej odpowiedni jest symbol wieloznaczny, ponieważ prawdopodobnie będziesz używać unikalnego portu.
2 Ponieważ używasz powiązania hosta innego niż lokalny, wymagane są dodatkowe uprawnienia. Możesz uruchomić VS jako administrator lub najlepiej dodać listy ACL URL, aby przyznać wymagane uprawnienia. W poniższym przykładzie uprawnienia są przyznawane wszystkim, ale możesz użyć własnej nazwy użytkownika.
Uwaga:urlacl
musi dokładnie odpowiadać wiążące. A więc urlacl
for http://*:8080
pozwoli na wiązanie *:8080:*
, ale nie na wiązanie, *:8080:localhost
nawet jeśli to drugie jest podzbiorem pierwszego. oznacza to, że jeśli zamiast używać symbolu wieloznacznego, podajesz nagłówki hostów w applicationhost.config
, musisz dodać dopasowanie urlacl
dla każdego.
Kroki związane z konfigurowaniem protokołu HTTP.sys pod kątem ruchu zewnętrznego są podobne do konfigurowania witryny do korzystania z zarezerwowanego portu. W systemie Windows 7 lub Windows Vista w wierszu polecenia z podwyższonym poziomem uprawnień uruchom następujące polecenie:
netsh http add urlacl url=http://*:8080/ user=DOMAIN\username
W systemie Windows XP uruchom następujące polecenie w wierszu polecenia z podwyższonym poziomem uprawnień:
httpcfg set urlacl /u http://*:8080/ /a D:(A;;GX;;;WD)
Uwaga 2 Jeśli uruchomienie VS jako administrator lub dodanie wpisów ACL nie rozwiąże problemu, uruchom IIS Express z wiersza polecenia i sprawdź, czy są jakieś komunikaty o niepowodzeniach rejestracji powiązań. Aby rozpocząć od wiersza poleceń, wydaj to polecenie:
iisexpress.exe /site:"your-site-name"
3 Wreszcie będziesz potrzebować odpowiednich wpisów firewalla. W tym celu najłatwiej jest użyć konsoli „Zapora systemu Windows z zaawansowanymi zabezpieczeniami”.
W sekcji „Reguły przychodzące” wybierz „Nowa reguła…”.
- Typ reguły to „Niestandardowa”.
- Program to Usługi-> Dostosuj ...-> Zastosuj tylko do usług. (Chociaż IIS Express nie jest usługą, używany przez nią multiplekser HTTP jest).
- Protokół to TCP
- Określone porty: Wymień wszystkie porty dla wszystkich powiązań usług IIS Express. W każdej chwili możesz wrócić do tej reguły i dodać porty. (Jeśli stanie się to męczące, możesz dodać zakres, na przykład
40000-65534
obejmujący cały zakres używany przez program Visual Studio, ale pamiętaj, że jest to mniej bezpieczne).
- Działanie to „Zezwól na połączenie”
- Profil będzie jednym z poniższych. W razie wątpliwości wybierz „Domena + prywatna”.
- „Domena”, jeśli Twój komputer to firmowy komputer stacjonarny, który będzie działać tylko w domenie lokalnej
- „Domena + prywatna” Jeśli Twoja jest prywatną maszyną programistyczną w środowisku innym niż korporacyjny lub firmowym laptopem, który również musi działać w domu.
- „Domena, prywatna i publiczna”, jeśli chcesz przeprowadzić demonstracje w sieciach nieprywatnych.
- Nazwa powinna być podobna do „IIS Express Dev Server”