Apache Server su Windows 7 aprendo le porte?


20

Ho installato Apache 2.2.14 su Windows 7 e posso visualizzare le mie pagine Web usando entrambi http://localhoste, http://127.0.0.1ma quando provo ad accedere al server da un altro computer sullo stesso router, fallisce. Non riesce anche quando uso l'indirizzo DynDNS che ho mappato.

Funzionava bene con Windows XP prima di passare a Windows 7.

Sospetto che il problema sia qualcosa come la porta 80 che non viene aperta per l'accesso esterno al computer.

Qualcuno sa come aprire quella porta in Windows Firewall o se qualcos'altro è bloccato di cosa si tratta e come sbloccarlo?

Risposte:


34

Per aggiungere una regola in Windows Firewall per la porta 80, procedere come segue:

  • Vai al Pannello di controllo e avvia "Windows Firewall"
  • Vai a "Impostazioni avanzate"
  • Seleziona "Regole in entrata" nel riquadro a sinistra
  • Seleziona "Nuova regola" nel riquadro a destra
  • Nella Creazione guidata nuova regola in entrata, selezionare "Porta" come Tipo di regola, quindi fare clic su "Avanti"
  • Selezionare "TCP e inserire" 80 "(e qualsiasi altra porta che si desidera aprire) in" Porte locali specifiche ", quindi fare clic su" Avanti "
  • Seleziona "Consenti la connessione", quindi fai clic su "Avanti"
  • Seleziona il percorso di rete a cui applicare la regola (selezionali tutti se non sei sicuro), quindi fai clic su "Avanti"
  • Dai un nome e una descrizione facoltativa

Questo dovrebbe farlo.


2
È possibile che sia già presente una regola in entrata "Apache" nelle impostazioni del firewall. Se esamini questa regola, troverai alcune impostazioni nella scheda Generale, una delle quali è Azione. Sono disponibili due opzioni: "Consenti la connessione" e "Consenti la connessione se è protetta". Puoi scegliere una di queste opzioni a tua discrezione, ma ti suggerisco di leggere e comprendere le opzioni "Personalizza" di quest'ultima.
Aaron Newton,

Suggerimenti: Sarai in grado di visitare quella porta, ma potresti non essere ancora in grado di eseguire il ping dell'ip!
fzyzcjy,

3

Sembra che Windows 7 Firewall abbia paura della porta 80.

Aprirà quelle porte se lo configuri in questo modo:

Server Apache → UDP → tutte le porte.
Server Apache → TCP → tutte le porte.

Questo è un problema poiché Apache di solito funziona con porte specifiche (intendo 80, alcune usano 8080 e 443), ma non ho trovato altro modo per far funzionare le regole del firewall Apache.


2

sembra che sia necessario aggiungere un'eccezione (porta 80) al firewall di Windows.

Sono sicuro che questo può essere realizzato aprendo il pannello di controllo del firewall e facendo clic un po 'in giro. In XP era almeno abbastanza semplice.

Il problema potrebbe anche essere che apache è configurato solo per l'ascolto sull'interfaccia di loopback. Puoi provarlo eseguendo netstat o provando a visitare l'altro indirizzo della tua macchina, come http://192.168.1.101/


2

Ho solo il mio lavoro. Ho creato la regola di eccezione per la porta 80 sul firewall di Windows. Sto eseguendo Windows 7 sul portatile e OSX Leopard sul mio Mac. L'eccezione da sola non ha risolto il problema. Ho quindi spento il firewall e sono stato in grado di connettermi all'apache sul laptop dal mio mac. Ciò che ha veramente risolto il problema è stato nel pannello di controllo> rete e centro di condivisione. Ho modificato le impostazioni per la rete attiva e l'ho impostata come rete domestica. Se si controlla il firewall win, si dovrebbe vedere la rete domestica (privata) connessa


+1, ho anche dovuto scegliere un gruppo home per la rete corrente affinché la regola funzionasse. Grazie @ricardo.
rishimaharaj,

1

Prova sia ad aprire la porta del router sul tuo computer sia a guardare il proprio firewall di Windows.

Ricorda che quando hai reinstallato Windows, è possibile che tu abbia un lease DHCP diverso e un indirizzo IP diverso, quindi il router potrebbe non inoltrarlo più correttamente.

Inoltre, il tuo router deve supportare "Nat Loopback" altrimenti non riuscirai semplicemente a connetterti, tuttavia suppongo che lo supporti come hai detto in precedenza funzionava. Per verificare ciò, ti consiglio vivamente di usare Hide My Ass o Proxify .


> È possibile che tu abbia un indirizzo IP diverso, quindi il router potrebbe non inoltrarlo più correttamente. Concordato! Sto "trasferendo" la mia installazione di WordPress in modo da poterlo ospitare facilmente da qualsiasi luogo. L'ho fatto funzionare localmente, ma è bloccato dal mondo. Esiste già un'eccezione in Windows Firewall perché ho detto consenti quando mi è stato richiesto, quindi ho controllato il router e, sicuramente, è stato impostato per inoltrare la porta 80 all'IP del mio desktop. Ovviamente cambiarlo con il laptop non va bene. Ho finito per assegnare un trigger di porta invece, e ora funziona da qualsiasi sistema collegato.
Synetech,

1

Oltre a controllare il firewall e verificare se apache sta ascoltando solo l'indirizzo localhost, puoi / dovresti anche controllare i tuoi .htaccessfile. La nuova versione installata potrebbe aver implementato una politica di sicurezza più restrittiva.

Alcuni tutorial su .htaccess


0

Sembra che sia un problema con il firewall di Windows 7. Quando spengo il firewall, funziona correttamente. Ora devo solo capire come attivare il firewall ma consentire le connessioni alla porta 80.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.