Hallo,
ich möchte gerne den Zugang z.B. zu phpmyadmin stark begrenzen und nur Clients aus bestimmten Netzwerken erlauben, dafür hab ich folgendes in "/etc/httpd/conf/extra/httpd-vhosts.conf" ergänzt:
Das funktioniert tadellos und lässt nur Clients zu deren IP-Adresse zum DNS-Namen dummy.dyndns.org passt, oder deren IP mit 192.168 anfängt!
Jetzt würde ich das ganze gerne noch mit SSL/HTTPS kombinieren, also leite ich alle normalen HTTP Anfragen auf HTTPS um, dafür hab ich die Konfiguration in "/etc/httpd/conf/extra/httpd-vhosts.conf" wie folgt abgeändert:
In die SSL Konfiguration "/etc/httpd/conf/extra/httpd-ssl.conf" hab ich für den Anfang mal folgendes hinzugefügt:
Das funktioniert auch noch, sowohl ein Aufruf über HTTP (der auf HTTPS umgeleitet wird) als auch der direkte Aufruf über HTTPS. Jetzt wollte ich den Zugriff über HTTPS anhand von DNS und IP beschränken, so wie zuvor über HTTP auch und das geht nicht! Wenn ich in die "/etc/httpd/conf/extra/httpd-ssl.conf" das schreibe:
Bekomme ich keinen Zugriff mehr, warum? Das Authentifizierungs-Modul von apache2 (mod_authz_host) muss doch über HTTPS genau so Zugriff auf die Client IP bekommen können wie über HTTP. Die IP Adressen werden doch nicht verschlüsselt?! Was mache ich falsch?
Die Fehlermedlung vom apache2 Log ist leider nicht wirklich hilfreich
ich möchte gerne den Zugang z.B. zu phpmyadmin stark begrenzen und nur Clients aus bestimmten Netzwerken erlauben, dafür hab ich folgendes in "/etc/httpd/conf/extra/httpd-vhosts.conf" ergänzt:
Code:
Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"
<Directory "/usr/share/webapps/phpMyAdmin">
DirectoryIndex index.php
AllowOverride All
Options FollowSymlinks
Require forward-dns dummy.dyndns.org
Require ip 192.168
</Directory>
Das funktioniert tadellos und lässt nur Clients zu deren IP-Adresse zum DNS-Namen dummy.dyndns.org passt, oder deren IP mit 192.168 anfängt!
Jetzt würde ich das ganze gerne noch mit SSL/HTTPS kombinieren, also leite ich alle normalen HTTP Anfragen auf HTTPS um, dafür hab ich die Konfiguration in "/etc/httpd/conf/extra/httpd-vhosts.conf" wie folgt abgeändert:
Code:
Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"
<Directory "/usr/share/webapps/phpMyAdmin">
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} phpmyadmin
RewriteRule ^(.*)$ https://%{HTTP_HOST}/phpmyadmin/$1 [R,L]
DirectoryIndex index.php
AllowOverride All
Options FollowSymlinks
</Directory>
In die SSL Konfiguration "/etc/httpd/conf/extra/httpd-ssl.conf" hab ich für den Anfang mal folgendes hinzugefügt:
Code:
Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"
<Directory "/usr/share/webapps/phpMyAdmin">
DirectoryIndex index.php
AllowOverride All
Options FollowSymlinks
Require all granted
</Directory>
Das funktioniert auch noch, sowohl ein Aufruf über HTTP (der auf HTTPS umgeleitet wird) als auch der direkte Aufruf über HTTPS. Jetzt wollte ich den Zugriff über HTTPS anhand von DNS und IP beschränken, so wie zuvor über HTTP auch und das geht nicht! Wenn ich in die "/etc/httpd/conf/extra/httpd-ssl.conf" das schreibe:
Code:
Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"
<Directory "/usr/share/webapps/phpMyAdmin">
DirectoryIndex index.php
AllowOverride All
Options FollowSymlinks
Require forward-dns dummy.dyndns.org
Require ip 192.168
</Directory>
Bekomme ich keinen Zugriff mehr, warum? Das Authentifizierungs-Modul von apache2 (mod_authz_host) muss doch über HTTPS genau so Zugriff auf die Client IP bekommen können wie über HTTP. Die IP Adressen werden doch nicht verschlüsselt?! Was mache ich falsch?
Die Fehlermedlung vom apache2 Log ist leider nicht wirklich hilfreich
Code:
[Sun Apr 09 17:01:54.908037 2017] [authz_core:error] [pid 17513] [client 127.0.0.1:41966] AH01630: client denied by server configuration: /usr/share/webapps/phpMyAdmin/index.php
Zuletzt bearbeitet: