Apache2: Rootordner nur von Lokaler IP zugreifen können?

LeBonyt  26.08.2023, 09:32

Hast du denn zu Testzwecken mal Allow from all eingetragen?

Fab1anDev 
Fragesteller
 26.08.2023, 14:47

Weiß ich jetzt nicht genau aber versuche es ebend

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Theoretisch werden dafür zwei <VirtualHost> Einträge benötigt:

Listen 80
Listen 192.168.1.118

<VirtualHost>
    DocumentRoot "/var/www"
    ServerName localhost

      <Directory /var/www>
                    Order allow,deny
                    Deny from all
                    Allow from 127.0.0.1
      </Directory>            
            
</VirtualHost>

Mach es zuerst nicht zu kompliziert und versuche es nur mit einer Konfiguration, womit lokal auf den Webserver zugegriffen werden kann.

Fab1anDev 
Fragesteller
 26.08.2023, 15:07

Okay es wird jetzt von außen geblockt also ich bekomme jetzt ein 403

Aber jetzt habe ich das Problem, dass auch Lokal einen 403 bekomme

Mit Listen funktionierte es nicht, deswegen habe ich es direkt im VirtualHost eingetragen.

Meine Config sieht jetzt so aus:

#Listen 80
#Listen 192.168.1.118

<VirtualHost *:80>
    DocumentRoot "/var/www"
    # ServerName localhost
     ServerName 192.168.1.118

      <Directory /var/www>
                    Order allow,deny
                    Deny from all
                    Allow from 192.168.118
      </Directory>
</VirtualHost>
0
Fab1anDev 
Fragesteller
 26.08.2023, 15:18
@jerric8

Ne, also davor konnte ich von Außen und Lokal zugreifen.

Jetzt kann ich weder von Außen (Was das Ziel ist) als auch Lokal zugreifen (Was jetzt das Problem ist)

0
jerric8  26.08.2023, 15:20
@Fab1anDev

Schau mal diese Zeile in deiner Konfiguration an:

<Directory /var/www>

                    Order allow,deny

                    Deny from all

                    Allow from 192.168.118

 </Directory>

da fehlt doch was.

0
jerric8  26.08.2023, 15:28
@Fab1anDev

Hat eine IPv4-Adresse nicht 4 Zahlen? Vergleiche mal oben.

0
Fab1anDev 
Fragesteller
 26.08.2023, 15:30
@jerric8

Achso xD aber funkioniert immer noch nicht

0
jerric8  26.08.2023, 15:33
@Fab1anDev

Sind der Server und der Rechner mit dem auf den Webserver zugegriffen wird zwei Geräte und wurde Apache restartet?

0
Fab1anDev 
Fragesteller
 26.08.2023, 15:35
@jerric8

Ja nur mein PC und der Server und Apache wurde restartet

0
jerric8  26.08.2023, 15:37
@Fab1anDev

Also zwei Geräte und zwei IP-Adressen?

<Directory /var/www>

                   Order allow,deny

                   Deny from all

                   Allow from 192.168.1.118

 </Directory>

hier wurde erlaubt, dass der Server auf sich selbst zugreifen darf.

0
Fab1anDev 
Fragesteller
 26.08.2023, 15:45
@jerric8

Ich habe jetzt die IP vom PC, mit der Server IP getauscht aber funkioniert noch nicht ich kriege wieder ein 403

0
jerric8  26.08.2023, 15:48
@Fab1anDev

Versuche es mal so:

<Location /var/www>

                   Order allow,deny

                   Deny from all

                   Allow from 192.168.1

</Location>

und schau in die Log Datei: /var/log/httpd/error_log

0
Fab1anDev 
Fragesteller
 26.08.2023, 15:54
@jerric8

Okay hab ich gemacht aber jetzt habe ich von außen und Lokal wieder zugriff

Und in den Logs steht nichts

0
jerric8  26.08.2023, 15:59
@Fab1anDev

Gut, dann trage in dieser Zeile:

 Allow from 192.168.1

wieder dahinter die IP-Adresse deines PCs ein. Also 192.168.1.xx

0
Fab1anDev 
Fragesteller
 26.08.2023, 16:02
@jerric8

Hab ich schon versucht aber leider funkioniert es nicht

0
jerric8  26.08.2023, 16:06
@Fab1anDev

Sorry, vertausche mal die beiden Wörter:

allow,deny

also

deny,allow
1
Fab1anDev 
Fragesteller
 26.08.2023, 16:13
@jerric8

Danke :D Es funkioniert, wobei ich es auch gerade versucht habe... merkwürdig

Meine Config:

<VirtualHost *:80>
    DocumentRoot "/var/www"
    # ServerName localhost
     ServerName 192.168.1.118 # IP vom Server

      <Directory /var/www>
                    Order deny,allow
                    Deny from all
                    Allow from 192.168.1.79 # IP vom PC
      </Directory>
</VirtualHost>
0
jerric8  26.08.2023, 16:19
@Fab1anDev

Gerne. Es kommt auf die Reihenfolge darunter an:

Deny from all

Allow from 192.168.1.79 # IP vom PC

In der Abarbeitung steht erst verbieten und dann erlauben:

Order deny,allow

dadurch das es bei Order vertauscht war, konnte es nicht gehen.

0
Fab1anDev 
Fragesteller
 26.08.2023, 16:24
@jerric8

Ich habe die jetzt nochmal überarbeitet

<VirtualHost *:80>
    DocumentRoot "/var/www"
    # ServerName localhost
     ServerName 192.168.1.118 #IP vom Server

      <Directory /var/www>
                    Order deny,allow
                    Deny from all
                    Allow from 192.168.1.0/24 #1
                    #1 Erlaubt alle IPs in Heimnetz
      </Directory>
</VirtualHost>
1

also gefühlsmäßig würde ich meinen, dass es nur klappt, wenn du mit der IP des Servers zugreifst...

wie ist denn deine Server IP?

das da würde das ganze Netz 192.168.1.0/24 freigeben....

Allow from 192.168.1.0/24

https://docstore.mik.ua/orelly/linux/apache/ch05_06.htm

Woher ich das weiß:Studium / Ausbildung – Absolvent/Universität
Fab1anDev 
Fragesteller
 26.08.2023, 15:15

Die vom Server ist 192.168.1.118

0
LUKEars  26.08.2023, 17:01
@Fab1anDev

und von wo willst du ungehindert zugreifen?

Also: Was ist dein „Heimnetz“?

0