Minha máquina está executando o Windows 7 Ultimate. Aqui está o que eu fiz (com sucesso) até agora:
- IIS 7.5 instalado com PHP sobre FastCGI
- Entendi trabalhando! Quando vou para http: //localhost/index.php , meus scripts PHP funcionam bem.
- Executei o ipconfig para descobrir que meu endereço IP local é 192.168.1.102. Confirmei que http://192.168.1.102/index.php funciona exatamente como o endereço do host local acima.
- Entrei na administração do meu roteador (eu tenho um Linksys WRT54G2) e configurei o encaminhamento de porta na porta 80 a 192.168.1.102. Agora a porta 80 está encaminhando para minha máquina.
- Configure uma regra de entrada no Firewall do Windows para permitir todas as atividades na porta 80.
- Descobri qual é o meu endereço IP externo do Google. Vamos chamá-lo de XXX.XX.XX.XX.
No entanto, quando tento acessar o http: //XXX.XX.XX.XX/index.php da minha própria máquina ou de um computador distante e não da minha rede, de qualquer maneira ... não recebo nada. Ele tenta se conectar por algum tempo (sem êxito), mas acaba desistindo.
Aqui está o que eu estou pensando:
- o que estou perdendo? O que eu esqueci / esqueci? Como obtenho isso funcionando e acessível fora da minha própria rede local?
- Supondo que eu funcione, como posso usar uma porta diferente da porta 80? Que alterações eu precisaria fazer (por exemplo, IIS, Firewall do Windows, administração de roteadores etc.) para tornar isso possível?
Muito obrigado antecipadamente!
iis
router
iis-7.5
port-forwarding
windows-firewall
soapergem
fonte
fonte
Respostas:
Isso parece um problema HTTP.SYS que você está tendo.
Abaixo está um trecho do blog de Scott Hanselman que descreve como expor o IISExpress fora do host local. A postagem do blog é mais longa, que também descreve como conectar todos os SSL. Mas acredito que os comandos que publiquei abaixo, que retirei de seu post, o ajudarão a resolver o problema que você está tendo.
Você pode não precisar do último comando, pois afirma que já criou uma regra de firewall.
fonte
(Acesso de fora da sua rede) Muitos ISPs residenciais (e alguns ISPs comerciais) bloquearão o tráfego de entrada em determinadas portas de serviço, como as portas 80 ou 25. Isso geralmente impede que você execute serviços comerciais em uma linha residencial devido ao uso da largura de banda. A alternativa é executá-lo em outra porta (veja abaixo).
(Acesso de dentro da sua rede) A situação que você está descrevendo soa como NAT em gancho de cabelo. Aqui está uma boa visão geral de alto nível do Hairpin NAT . Você precisará adicionar regras NAT ao seu roteador para fazer sempre o tráfego destinado ao seu IP externo, a porta 80 passar pelo seu roteador e não diretamente do host para o host dentro da sua rede. Advertência: Seu roteador pode não ser capaz de fazer isso.
Altere a ligação da porta no IIS e reinicie o site.
fonte
Eu tive o mesmo problema. O Firewall do Windows está bloqueando o acesso. Desligue e verifique novamente. Meu palpite é que funcionará.
fonte