Na moim komputerze działa system Windows 7 Ultimate. Oto co dotychczas zrobiłem (z powodzeniem):
- Zainstalowano IIS 7.5 z PHP przez FastCGI
- Mam to działa! Kiedy przechodzę do http: //localhost/index.php , moje skrypty PHP działają poprawnie.
- Uruchomiłem ipconfig, aby dowiedzieć się, że mój lokalny adres IP to 192.168.1.102. Potwierdziłem, że http://192.168.1.102/index.php działa dokładnie tak, jak adres localhost powyżej.
- Udałem się do mojej administracji routera (mam Linksys WRT54G2) i skonfigurowałem przekierowanie portów na porcie 80 na 192.168.1.102. Teraz port 80 przekierowuje na moją maszynę.
- Skonfiguruj regułę ruchu przychodzącego w Zaporze systemu Windows, aby zezwolić na całą aktywność na porcie 80.
- Dowiedz się, jaki jest mój zewnętrzny adres IP od Google. Nazwijmy to XXX.XX.XX.XX.
Jednak gdy próbuję przejść do http: //XXX.XX.XX.XX/index.php z mojej własnej maszyny lub z komputera znajdującego się daleko i nie w mojej sieci, w każdym razie ... nic nie dostaję. Próbuje się połączyć przez jakiś czas (bezskutecznie), ale w końcu po prostu się poddaje.
Oto co się zastanawiam:
- czego mi brakuje? Co zapomniałem / przeoczyłem? Jak mogę uzyskać to działające i dostępne poza moją siecią lokalną?
- Zakładając, że działam, jak mogę następnie użyć portu innego niż port 80? Jakie zmiany musiałbym wprowadzić (np. IIS, Zapora systemu Windows, administracja routera itp.), Aby było to możliwe?
Z góry dziękuję!
iis
router
iis-7.5
port-forwarding
windows-firewall
Soergergem
źródło
źródło
Odpowiedzi:
To brzmi jak występujący problem HTTP.SYS.
Poniżej znajduje się fragment blogu Scotta Hanselmana, który opisuje, jak wystawić IISExpress poza localhost. Wpis na blogu jest dłuższy i opisuje także sposób połączenia SSL. Ale wierzę, że polecenia, które opublikowałem poniżej, które wyciągnąłem z jego postu, pomogą ci rozwiązać problem, który masz.
Być może nie potrzebujesz ostatniego polecenia, ponieważ stwierdzasz, że utworzyłeś już regułę zapory.
źródło
(Dostęp spoza sieci) Wielu prywatnych dostawców usług internetowych (i niektórzy biznesowi dostawcy usług internetowych) będzie blokować ruch przychodzący na niektórych portach usług, takich jak port 80 lub 25. Zasadniczo ma to na celu uniemożliwienie korzystania z usług biznesowych na linii domowej ze względu na wykorzystanie przepustowości. Alternatywą jest uruchomienie go na innym porcie (patrz poniżej).
(Dostęp z wnętrza sieci) Opisana przez ciebie sytuacja brzmi jak przypinka NAT. Oto dobry ogólny przegląd Hairpin NAT . Będziesz musiał dodać reguły NAT do routera, aby zawsze kierować ruch do twojego zewnętrznego adresu IP, port 80 przechodzi przez router, a nie bezpośrednio z hosta do hosta w sieci. Uwaga: Twój router może nie być w stanie tego zrobić.
Zmień powiązanie portu w IIS, a następnie uruchom ponownie witrynę.
źródło
Miałem ten sam problem. Zapora systemu Windows blokuje dostęp. Wyłącz i sprawdź ponownie. Domyślam się, że to zadziała.
źródło