Windows Firewall ha la porta 80 aperta ma impedisce ad Apache di stabilire connessioni


11

Ho una macchina Windows 7 che serve pochissime (ma importanti!) Pagine. Ho un'eccezione che consente a qualsiasi traffico di raggiungere la porta 80 *, ma Apache 2.2 non può ancora servire le pagine (anche se riesco a vederle dalla macchina stessa). Se disabilito completamente Windows Firewall, tuttavia, posso eseguire il ping della casella e caricare le pagine.

Cos'altro devo configurare in modo che Apache possa fare il suo lavoro?

* In realtà, la stessa cosa accade anche se cambio l'eccezione a "tutte le porte" anziché solo a 80.


3
1. Smettere di usare il ping come strumento di test del servizio. Se è possibile eseguire il ping dell'host o meno è irrilevante se il sito Web è in esecuzione e accessibile. 2. Quale profilo di rete è attivo nel firewall di Windows e a quale profilo di rete è vincolata la tua regola?
joeqwerty

@joeqwerty: menziono solo il ping per fornire ulteriori informazioni.
Charles,

Risposte:


10

Indipendentemente dal fatto che la porta 80 sia aperta sul firewall, ciò non significa che il ping inizierà a funzionare se Apache funziona correttamente. Ping utilizza ICMP che è un protocollo a sé stante che deve essere aperto sul firewall per ricevere le risposte ping dalla tua macchina. Quindi non contare sul ping per verificare se la configurazione di apache / configurazione del firewall funziona.

In risposta alla regola del firewall per tcp 80, vai alle proprietà della regola e controlla se tutte e 3 le caselle di controllo (Dominio, Privato, Pubblico) sono selezionate e, in caso contrario, selezionale. inserisci qui la descrizione dell'immagine

Ecco un HOWTO con i passi esatti che devi seguire per aprire la porta 80 su Windows 7: link

Aggiornare:

Controlla anche se non stai bloccando il processo apache stesso con Windows Firewall.
1. Vai al Pannello di controllo
2. Seleziona Sistema e sicurezza
3. Nella sezione Windows Firewall, seleziona Consenti un programma tramite Windows Firewall .
inserisci qui la descrizione dell'immagine
4. Deselezionando la casella a sinistra del nome dell'applicazione, non è possibile accedervi dalle risorse di rete, mentre la verifica consente l'accesso.
inserisci qui la descrizione dell'immagine
Se Apache non è elencato, è possibile fare clic sul pulsante Consenti un altro programma ... per aggiungerlo e quindi selezionare le caselle in Home / Lavoro e Pubblico.


Tutti e tre sono stati controllati. Il sito Web non si aprirà in un browser (tranne sul server stesso).
Charles,

1
@Charles: In questo caso, fai queste 5 cose: 1. Abilita la registrazione del firewall sul computer con Windows 7. 2. Installare un programma di acquisizione di pacchetti sul computer Windows 7. 3. Inizia una cattura. 4. Provare a navigare nel sito Web da un altro computer. 5. Arrestare l'acquisizione e ispezionarlo e il registro del firewall per indizi su ciò che sta accadendo.
joeqwerty,

Sei sicuro di aver creato la regola nel Inbound Rulesriquadro di sinistra?
George Tasioulis,

@Charles, controlla il mio aggiornamento.
George Tasioulis,

1
@George: tutto qui. Consentire "Monitorare i server Apache" (oltre all'eccezione della porta 80) ha funzionato.
Charles,

2

Controllare il servizio "Branch cache" e arrestarlo se in esecuzione.


1

Se la disabilitazione del firewall risolve completamente il problema, ma le regole delle eccezioni non lo fanno, allora mi permetto di dire che le tue eccezioni sono errate.

Secondo Microsoft , il primo passo nella risoluzione dei problemi del firewall è verificare il profilo attivo (pubblico, privato o di dominio).

Il primo passo per la risoluzione dei problemi di Windows Firewall è verificare quale profilo è attivo. Windows Firewall con sicurezza avanzata è un'applicazione che riconosce la posizione di rete. Man mano che le posizioni di rete a cui è collegato il computer cambiano, cambia il profilo di Windows Firewall. I profili descrivono le impostazioni e le regole di Windows Firewall che vengono applicate in base al tipo di percorso di rete delle connessioni di rete attive.

Quindi una possibilità è che tu abbia fatto la regola giusta ma nel profilo sbagliato.

Spero possa aiutare.


Buona idea, +1. Questo non è il mio problema, ma ho potuto vedere qualcuno commettere questo errore.
Charles,

0

Probabilmente httpd.conf si limita ai client solo su localhost o sottorete locale.

Nel tuo set httpd.conf:

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

e forse anche questo:

<Directory "E:/Apache/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride None
    Allow from all
</Directory>

Non è un problema, perché se spengo il firewall il problema scompare. (Inoltre, prima di passare a Win7, lo stesso httpd.conf ha funzionato bene per anni.)
Charles

0

Il tuo firewall non consente a nessuna nuova connessione di condividere informazioni senza il tuo consenso. L'unica cosa da fare è dare il tuo consenso al tuo firewall.

  1. Vai a Impostazioni firewall nel Pannello di controllo
  2. Fai clic su Impostazioni avanzate
  3. Fai clic su Regole in entrata e Aggiungi una nuova regola.
  4. Scegli "Tipo di regola" da Port.
  5. Consenti questo per Tutti i programmi.
  6. Consenti l'applicazione di questa regola su tutti i profili, ad esempio Dominio, Privato, Pubblico.
  7. Dai a questa regola qualsiasi nome.

Questo è tutto. Ora un altro PC e cellulari collegati sulla stessa rete possono accedere ai siti locali. Iniziamo lo sviluppo.

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.