Discussione:
Problema di accsso al server dal mondo esterno
(troppo vecchio per rispondere)
lorenzo
2008-07-15 09:16:58 UTC
Permalink
Salve. Ho una Debian Lenny, con Apache 2.2.9.

A seguito di una recente re-installazione del sistema, non riesco più ad
utilizzare il server dall'esterno (funziona invece sia in localhost, sia
dalla rete interna 192.168.1.*)

Tentando di accedere da fuori, restituisce un 404.

Verifiche effettuate:
- La server signature presente nella pagina di errore è quella del server
giusto: non si tratta di un problema firewall o di un errore di tipo
"ho sbagliato macchina".
- Da root, netstat -tlp | grep "apache2" dice:
tcp6 0 0 [::]:www [::]:* LISTEN 3120/apache2
tcp6 0 0 [::]:81 [::]:* LISTEN 3120/apache2
(che è coerente con le impostazioni e che non sembra bloccare nulla
dall'esterno).
- Nell'unico "site" abiltato, i permessi Order allow/deny sono "Allow from
all" tranne per la directory /usr/share/doc (con accesso riservato ad IP
interni).
- Ho provato sia utilizzando come indirizzo l'host, sia utilizzando l'URL
di alcuni particolari file, quindi non è un'impostazione errata di
pagina indice.

Non so più dove andare a controllare. E la cosa che mi disorienta è che
l'errore restituito è un 404, e non un 403 o un'assenza di risposta (cose
che mi aspetterei in caso di impostazioni di sicurezza).

Qualcuno mi sa suggerire altre verifiche da fare, o cosa ci sia che non
va?

Grazie mille,
--
Lorenzo Breda
Andrea D'Amore
2008-07-15 11:11:35 UTC
Permalink
Post by lorenzo
Qualcuno mi sa suggerire altre verifiche da fare, o cosa ci sia che non
va?
Dato che dici che da indirizzi locali funziona bene hai provato a
rimuovere la protezione per /usr/share/doc ?

Di tutto quello che dici è l'unico punto che fa differenza tra gli
indirizzi ip.
lorenzo
2008-07-15 15:46:22 UTC
Permalink
Post by Andrea D'Amore
Post by lorenzo
Qualcuno mi sa suggerire altre verifiche da fare, o cosa ci sia che non
va?
Dato che dici che da indirizzi locali funziona bene hai provato a
rimuovere la protezione per /usr/share/doc ?
Di tutto quello che dici è l'unico punto che fa differenza tra gli
indirizzi ip.
Uhm, mentre provavo a fare questo (senza apettarmi nulla, in teoria un
deny dovrebbe restituire un 403...) mi è venuta un'idea:

Come si vedeva nel mio primo post, il server risponde sia alla porta 80
che alla porta 81. Non ho specificato però (grave errore mio...) che
dall'esterno sono costretto ad accedere sulla 81 (motivi di port
forwarding: sulla 80 c'è un'altra macchina).

Ebbene, sulla 81, da dove accedo accedo, mi dà un 404.

La porta la ho aggiunta nel file ports.conf, che viene incluso nella
configurazione principale, è che è lo stesso file che contiene il dato
sulla porta 80.

Il file dice

Listen 80
Listen 81
<IfModule mod_ssl.c>
Listen 443
</IfModule>

A questo punto, guardando anche il file che configura la DocumentRoot,
noto (stupidissimamente non lo ho fatto prima) che inizia con un bel:

<VirtualHost *:80>

il quale, sostituito con

<VirtualHost *:80 *:81>

ovviamente funziona a meraviglia.

Ma dico, mi può sfuggire la _prima riga_ di un file di configurazione?!?
=_=

Grazie mille per l'aiuto!!
--
Lorenzo Breda
Andrea D'Amore
2008-07-15 16:50:33 UTC
Permalink
Post by lorenzo
Grazie mille per l'aiuto!!
Quale? :-)
lorenzo
2008-07-15 18:06:30 UTC
Permalink
Post by Andrea D'Amore
Post by lorenzo
Grazie mille per l'aiuto!!
Quale? :-)
Bè... Se non fossi andato a riguardarmi quel file, starei ancora a
chiedermi che fare...

Uhm, quindi il default per la directory di root deve essere /www...
Nella precedente installazione (in cui sono certo di aver aggiunto la
porta senza cambiare altro) la root era /www, ora invece è /var/www (che
è un symlink) mentre /www esiste e non contiene index.

Wow, non me l'aspettavo. Mi sarei aspettato o /var/www o un 500.
--
Lorenzo Breda
lorenzo
2008-07-15 15:46:32 UTC
Permalink
Post by Andrea D'Amore
Post by lorenzo
Qualcuno mi sa suggerire altre verifiche da fare, o cosa ci sia che non
va?
Dato che dici che da indirizzi locali funziona bene hai provato a
rimuovere la protezione per /usr/share/doc ?
Di tutto quello che dici è l'unico punto che fa differenza tra gli
indirizzi ip.
Uhm, mentre provavo a fare questo (senza apettarmi nulla, in teoria un
deny dovrebbe restituire un 403...) mi è venuta un'idea:

Come si vedeva nel mio primo post, il server risponde sia alla porta 80
che alla porta 81. Non ho specificato però (grave errore mio...) che
dall'esterno sono costretto ad accedere sulla 81 (motivi di port
forwarding: sulla 80 c'è un'altra macchina).

Ebbene, sulla 81, da dove accedo accedo, mi dà un 404.

La porta la ho aggiunta nel file ports.conf, che viene incluso nella
configurazione principale, è che è lo stesso file che contiene il dato
sulla porta 80.

Il file dice

Listen 80
Listen 81
<IfModule mod_ssl.c>
Listen 443
</IfModule>

A questo punto, guardando anche il file che configura la DocumentRoot,
noto (stupidissimamente non lo ho fatto prima) che inizia con un bel:

<VirtualHost *:80>

il quale, sostituito con

<VirtualHost *:80 *:81>

ovviamente funziona a meraviglia.

Ma dico, mi può sfuggire la _prima riga_ di un file di configurazione?!?
=_=

Grazie mille per l'aiuto!!
--
Lorenzo Breda
Loading...