Apache Web Server funziona localmente non a livello globale


1

Sono stato qui per un po 'stasera e ho pensato che avrei cercato aiuto prima di colpire il sacco. Ho scaricato con successo Apache e posso eseguirlo senza problemi su un box fedora 16 che funge da web server. Sono stato in grado di creare pagine che possono essere visualizzate localmente.

Riassumere

Dalla Fedora Box posso accedere alle mie pagine tramite un browser Web all'indirizzo

  • 127.0.0.1 e il suo indirizzo IP locale.

Da una finestra di Windows sulla stessa rete domestica da cui posso accedere alla pagina

  • il suo indirizzo IP locale.

Da entrambe le macchine posso eseguire correttamente il ping dell'indirizzo IP globale (fornito da whatsmyip.org)

Per quanto ne so il problema sembra essere al router. Stasera ho dovuto ricaricare un backup due volte perché ho continuato a rompere le cose (ricorda gente, il salvataggio è FTW). Potrebbe essere uno dei seguenti problemi con il router o il web server? Il seguente elenco riassume ciò che ho tentato e che cosa è stato abilitato al momento.

  • Attualmente il router ha NAT abilitato.
  • Il firewall del router è disabilitato
  • Ho tentato il port forwarding della porta 80. Ho usato l'indirizzo locale del web server come porta forward
  • HTTP è stato abilitato nel firewall linux sul web server
  • Internet entra in casa come segue
    • Modem fornito dall'ISP >> Il mio router personale >> Dispositivo individuale

Modifica: secondo il mio ISP la porta 80 è bloccata nel modo seguente. Questo potrebbe rappresentare un problema più grande o la risposta di RedGrittyBrick è un modo per aggirarlo

  • Porta = 80
  • Trasporto = TCP
  • Protocollo = HTTP
  • Direzione = In entrata

su quale dispositivo hai abilitato il port forwarding?
daya,

@daya Sul router. E nel caso in cui qualcuno sia curioso, è un EnGenius ESR9850
sealz,

Risposte:


1

Port forwarding

Quando si imposta il port forwarding, è necessario disporre di tre parametri corretti:

  • la porta esterna , di solito 80 per HTTP.
  • l' indirizzo IP interno del server, spesso 192.168.1.x
  • la porta interna per il servizio HTTP sul server interno, sempre in genere 80.

Blocco delle porte ISP

Si noti che un server Web su una linea ADSL avrà prestazioni scarse e potrebbe violare i termini del servizio ISP, per questo motivo l'ISP potrebbe bloccare il traffico in entrata. Prova a impostare la porta esterna su un numero elevato (ad es. 30080) lasciando la porta interna su 80, quindi assegna a un browser esterno un URL http://<external IP>:30080/


Dopo alcune ricerche aggiuntive sembra che il mio ISP possa bloccare la porta 80. Dovrei impostare la porta esterna nel file httpd.conf? Ho provato 123.123.123.123 e 123.123.123.123:80.
Sealz,

O sarebbe più simile a quello di cui ho bisogno: rootatwc.com/blog/article/1
sealz

@ harper89: nessuna porta esterna è impostata nella configurazione del port forwarding del router. Il numero di porta del server Web interno può rimanere lo stesso. Questo è talvolta chiamato Port Address Translation (PAT). Se il tuo router non può fare PAT come parte del port forwarding allora e solo allora sarebbe necessario cambiare la porta che il server web ascolta (nel qual caso puoi farlo ascoltare due numeri di porta per comodità: 80 E 30080 dicono )
RedGrittyBrick il

@ harper89: l'articolo del blog si applica se il tuo router è molto semplice e non ha il port forwarding su base per porta.
RedGrittyBrick

Grazie ci giocherò dopo il lavoro, qualcun altro lo farà nuovamente +1 per me.
Sealz,

2

Suppongo che il tuo problema sia che non puoi accedere al web server dal suo indirizzo pubblico dalla rete locale - dalla stessa rete su cui risiede il server.

Questo perché la maggior parte dei router domestici non supporta il hairpinning, che è la tecnica per eseguire il doppio nat / unnat necessario per gestire la connessione in entrata e in uscita dalla stessa interfaccia.

Quando si esegue il ping dell'indirizzo globale, è molto probabile che il router risponda, non il server Web.

Considerando l'utilizzo del DNS diviso per accedere al server, dove internamente il nome DNS si risolve nell'indirizzo privato e all'esterno si risolve nell'indirizzo pubblico.

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.