Cookies op Tweakers

Tweakers is onderdeel van DPG Media en maakt gebruik van cookies, JavaScript en vergelijkbare technologie om je onder andere een optimale gebruikerservaring te bieden. Ook kan Tweakers hierdoor het gedrag van bezoekers vastleggen en analyseren. Door gebruik te maken van deze website, of door op 'Cookies accepteren' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt? Bekijk dan ons cookiebeleid.

Meer informatie
Toon posts:

Apache Een map alleen toegankelijk maken vanuit localnetwerk

Pagina: 1
Acties:

Vraag


  • engibenchi
  • Registratie: december 2004
  • Laatst online: 16-05 12:07
Mijn vraag
Ik heb thuis een webserver draaien met verschillende websites in diverse mappen.
Is het mogelijk dat ik één specifieke map zo configureer dat deze alleen toegankelijk is vanuit mijn lokale netwerk?

Relevante software en hardware die ik gebruik:
thuis server met
Apache/2.4.29 (Ubuntu)
Ubuntu 18.04.4 LTS

Wat ik al gevonden of geprobeerd heb:
Ik dacht het volgende gevonden te hebben maar dat werkt niet.
onderstaande in mijn ¨/etc/apache2/sites-available/000-default.conf¨

<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>

<Directory /var/www/html/admin>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require ip 192.168
</Directory>

EngiBenchi

Beste antwoord (via engibenchi op 04-07-2020 20:26)


  • Osiris
  • Registratie: januari 2000
  • Niet online
@engibenchi Mijns inziens kun je beide Directory-sections maar beter buiten de VirtualHost zetten. Je directory-settings zijn immers helemaal niet virtualhost-afhankelijk in dit geval.

Alle reacties


  • Hero of Time
  • Registratie: oktober 2004
  • Laatst online: 20-06 15:48

Hero of Time

Moderator NOS

There is only one Legend

Je moet niet naar het connecterende IP kijken (tenzij je webserver direct aan het internet hangt, maar dat doet 'ie dus blijkbaar niet), maar naar het origin-IP. Dat is het IP van de bezoeker zelf. Hoe je dat in de config verwerkt, geen idee. Misschien dat Google je kan helpen. Anders zal je het in je site zelf moeten afvangen.

Andere optie kan natuurlijk altijd nog zijn om een aparte vhost te maken dat op een andere poort of IP adres luistert.

Commandline FTW | Tweakt met mate


  • eheijnen
  • Registratie: juli 2008
  • Laatst online: 10:07

  • Osiris
  • Registratie: januari 2000
  • Niet online
Je wil waarschijnlijk je gehele interne range opgeven. Dat doe je niet door simpelweg de eerste 2 octets van het adres op te geven. Je zult de range daadwerkelijk moeten specificeren.

Gelúkkig bestaat er iets als de Apache documentatie, waar je exact kunt lezen hoe je `Require` moet gebruiken, inc. een IP-range (op 2 manieren zelfs, waarbij de 2e het simpelst en handigst is):

https://httpd.apache.org/...st.html#requiredirectives

Daar staat overigens ook dat jouw methode werkt, maar vind ik persoonlijk onduidelijk en zou ik niet doen.

Maareh, wát werkt er niet en wat geven de Apache logs aan?

[Voor 15% gewijzigd door Osiris op 04-07-2020 17:53]


  • engibenchi
  • Registratie: december 2004
  • Laatst online: 16-05 12:07
Dat is in principe wat denk gedaan te hebben alleen de instructie die jij opgezocht heb is voor Apache 2.2.
Versie 2.4 maakt gebruik van "Require ip " Als ik het goed begrepen heb, dat is.

En probeer nog te begrijpen wat Hero of Time zegt.

Mij is het onderscheid tussen. connecterende IP en origin-IP nog niet duidelijk

EngiBenchi


  • Osiris
  • Registratie: januari 2000
  • Niet online
engibenchi schreef op zaterdag 4 juli 2020 @ 17:53:
[...]

Mij is het onderscheid tussen. connecterende IP en origin-IP nog niet duidelijk
Mij ook niet, aangezien hij het specifiek over "tenzij je webserver direct aan het internet hangt", wat qua origin IP helemaal niet uitmaakt, aangezien NAT van het origin IP afblijft.

Ik zou graag access en evt. error logs willen zien van je request naar de /admin/ directory en wat er nou precies niet werkt: foutmelding? Of juist niet? Hoe test je het?

[Voor 18% gewijzigd door Osiris op 04-07-2020 17:55]


  • eheijnen
  • Registratie: juli 2008
  • Laatst online: 10:07
dan lijkt me dit de juiste

A network/netmask pair:(jouw link apache docs)
Require ip 192.168.xxx.0/255.255.255.0

xxx vervagen door jouw gedeelte van ip range.
hiermee krijgt het subnet toegang

  • engibenchi
  • Registratie: december 2004
  • Laatst online: 16-05 12:07
@Osiris
Het probleem is eigenlijk dat het tegoed werkt. wat ik wil is dat ik admin directory waar nu de Pihole website in staat niet van buitenaf bereikbaar wil hebben maar wel vanaf mijn lokale netwerk.
En nu werkt dat waardoor het geen fouten in mijn error.log geeft.
Kan wel wat uit de access.log laten zien. Maar verwacht niet dat daar veel uit te halen valt

vanaf mijn pc:
192.168.0.182 - - [04/Jul/2020:09:49:48 +0000] "GET /admin/api.php?summary HTTP/1.1" 200 822 "http://192.168.0.124/admin/index.php" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0"
vanaf mijn mobiel:
84.241.xxx.xxx - - [04/Jul/2020:16:47:08 +0000] "GET /admin/api.php?summary HTTP/1.1" 200 844 "https://xxxxxxxxx.nl/admin/" "Mozilla/5.0 (Linux; Android 10; SM-G975F) AppleWebKit/537.36 (KHTML, like Gecko) Chrom$


Zit net te bedenken, kan het te maken hebben met de truc dat http naar https wordt door gelinkt.....

[Voor 5% gewijzigd door engibenchi op 04-07-2020 18:52]

EngiBenchi


  • Osiris
  • Registratie: januari 2000
  • Niet online
engibenchi schreef op zaterdag 4 juli 2020 @ 18:50:
Zit net te bedenken, kan het te maken hebben met de truc dat http naar https wordt door gelinkt.....
Kan zijn dat de Directory-directive helemaal niet bestaat in de HTTPS virtualhost als jij 'em in de HTTP virtualhost hebt geplaatst. Je kunt dan beter de Directory-directive buiten de VirtualHost sections plaatsen, zodat 'ie voor beide geldt.

  • engibenchi
  • Registratie: december 2004
  • Laatst online: 16-05 12:07
@Osiris
Dat klinkt alsof we op het goede spoor zitten.

Maar helaas begrijp ik nog niet 100% wat ik aan het doen ben.
letsencrypt heeft voor mij iets met virtual host gedaan. En daar staat die directory tag in
Begrijp ik jou goed en kan ik die het beste er buiten zetten?
Zoals ik hieronder nu gedaan heb?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<Directory /var/www/html/admin>
       Options Indexes FollowSymLinks MultiViews
       AllowOverride All
       Require ip 192.168.xxx.0/255.255.255.0
 </Directory>

<VirtualHost *:80>

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html


        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

RewriteEngine on
RewriteCond %{SERVER_NAME} =xxxxxxxx.nl [OR]
RewriteCond %{SERVER_NAME} =www.xxxxxxxx.nl
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
    <Directory /var/www/html>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
       Require all granted
    </Directory>

</VirtualHost>

EngiBenchi


Acties:
  • Beste antwoord
  • +1Henk 'm!

  • Osiris
  • Registratie: januari 2000
  • Niet online
@engibenchi Mijns inziens kun je beide Directory-sections maar beter buiten de VirtualHost zetten. Je directory-settings zijn immers helemaal niet virtualhost-afhankelijk in dit geval.

  • engibenchi
  • Registratie: december 2004
  • Laatst online: 16-05 12:07
Perfect iedereen bedankt voor het meedenken.
de range moest toch op onderstaande wijze worden opgegeven.
Als ik het op deze manier deed dan wilde Apache niet opstarten

code:
1
2
3
4
5
<Directory /var/www/html/admin>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require ip 192.168
</Directory>


Dus voor alle duidelijkheid de <Directory /var/www/html/xxxxxx> tag buiten de <VirtualHost *:80> tag plaatsen

Nogmaals hartelijk dank

[Voor 14% gewijzigd door engibenchi op 04-07-2020 20:40. Reden: juiste antwoord verduidelijkt]

EngiBenchi


  • Osiris
  • Registratie: januari 2000
  • Niet online
engibenchi schreef op zaterdag 4 juli 2020 @ 20:32:
de range moest toch op onderstaande wijze worden opgegeven.
Als ik het op deze manier deed dan wilde Apache niet opstarten
"onderstaande wijze" werkt wel maar "deze" die vanuit mijn perspectief naar hetzelfde refereert werkt níet? Dat klopt natuurlijk niet ;) Sowieso heeft Apache meerdere wegen naar Rome, dus als een andere range-implementatie niet werkte, dan lag 't waarschijnlijk aan jezelf.
engibenchi schreef op zaterdag 4 juli 2020 @ 20:32:
Dus voor alle duidelijkheid de <Directory /var/www/html/xxxxxx> tag buiten de <VirtualHost *:80> tag plaatsen
Fijn! :)

  • engibenchi
  • Registratie: december 2004
  • Laatst online: 16-05 12:07
Nee klopt ik zag net even te laat, pas wat ik fout had gedaan.
Ik was vergeten om in de 192.168.xxx.0 de xxx te vervangen. Oopsy :$

EngiBenchi


  • Hero of Time
  • Registratie: oktober 2004
  • Laatst online: 20-06 15:48

Hero of Time

Moderator NOS

There is only one Legend

Osiris schreef op zaterdag 4 juli 2020 @ 17:54:
[...]

Mij ook niet, aangezien hij het specifiek over "tenzij je webserver direct aan het internet hangt", wat qua origin IP helemaal niet uitmaakt, aangezien NAT van het origin IP afblijft.
Ik zat even verkeerd te denken en had nog een situatie in m'n hoofd waar een reverse proxy tussen zit. Dat is bij NAT natuurlijk niet aan de orde, dus is het IP dat verbinding maakt gelijk aan de origin IP.

Commandline FTW | Tweakt met mate

Pagina: 1


Apple iPad Pro (2021) 11" Wi-Fi, 8GB ram Microsoft Xbox Series X LG CX Google Pixel 5a 5G Sony XH90 / XH92 Samsung Galaxy S21 5G Sony PlayStation 5 Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True