Sie sind nicht angemeldet.

1

09.04.2008, 14:53

Apache + SSL: Automatic Redirect funktioniert nur bedingt

Hi Leute,

hab hier folgendes Problem. Auf meinem apache ist SSL aktiviert und es funktioniert innerhalb vom LAN auch mit dem Redirect prächtig, wenn also jemand auf http://server zugreift wird er nach authentifizierung automatisch auf https://server weitergeleitet.

per dyndns steht der server auch im internet, wenn ich aber mit http://server.dyndns.org versuche den Server zu erreichen bekomme ich am Standard port 80 keine antwort und am SSL port 443 einen fehler mit nem Bad Request, da versucht wird mit plain text auf das SSL port zuzugreifen.

mit https://server.dyndns.org funktionierts problemlos, nur das Redirect macht er mir irgendwie nur im lan und nicht nach außen, woran könnte das liegen?


vorgegangen bin ich nach dem wiki artikel http://gentoo-wiki.com/Apache_Modules_mod_ssl und im wesentlichen sehen auch so meine configs aus, wenn was benötigt wird bitte melden.

danke schonmal, mfg

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »tausche« (10.04.2008, 15:40)


2

10.04.2008, 08:38

Hast du versucht ohne redirect auf die http://-dyndns seite zu kommen? Sprich: wenn du den Redirect rausnimmst, siehst du dann via dyndns etwas?
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

3

10.04.2008, 09:50

danke für die antwort!

Ja, ohne Redirect, also am normalen 80er Port war das Ganze vorher schon in Betrieb. Wenn ich den Redirect rausnehme und den 443er Port am Router forwarde, dann kann ich am 80er ohne SSL und am 443 mit SSL verbinden, also die Connection is da. Geb ich den Redirect rein wartet er am 80er Port ewig und bringt dann das Timeout, am 443 erhalte ich Fehler 400 "Bad Request" wenn ich mit http://... zugreife, über https://... funktionierts.

Mir gehts darum, dass bereits eine Menge Clients die http://server.dyndns.org adresse haben, und ich denen den Zugriff verweigern würde, wenn ich nur mehr https://... zulasse.

Im LAN funktionierts ja auch problemlos, deswegen sollten die Einstellungen ja eigentlich passen. Am dyndns dürfte es nicht liegen, wenn ichs mit meiner IP direkt versuche erhalten ich genau das selbe Ergebnis.

Quellcode

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
cat /etc/apache2/vhosts.d/00_default_vhosts.conf
# Virtual Hosts

<IfDefine DEFAULT_VHOST>
# see bug #178966 why this is in here

# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 80

# Use name-based virtual hosting.
NameVirtualHost *:80

# When virtual hosts are enabled, the main host defined in the default
# httpd.conf configuration will go away. We redefine it here so that it is
# still available.
#
# If you disable this vhost by removing -D DEFAULT_VHOST from
# /etc/conf.d/apache2, the first defined virtual host elsewhere will be
# the default.
<VirtualHost *:80>
	ServerName localhost
	Include /etc/apache2/vhosts.d/default_vhost.include

	<IfModule mpm_peruser_module>
		ServerEnvironment apache apache
	</IfModule>

	# Redirect to SSL
	RewriteEngine On
	RewriteCond %{HTTPS} !on
	RewriteRule ^/(.*) https://%{SERVER_NAME}%{REQUEST_URI} [R]
#	RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
</VirtualHost>
</IfDefine>

# vim: ts=4 filetype=apache


müsste hier vielleicht am Listen port noch etwas angepasst werden? ServerName auf localhost sollte doch auch passen oder?

4

10.04.2008, 11:20

Also die RewriteRule sieht gut aus ... hm ... funkt auch so. Local.

Ok. Knifflig ...

was spuckt ein wget mit deinem dyndns und eingeschlatetem redirect aus. Sprich:

Quellcode

1
$ wget http://server.dyndns.org
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

5

10.04.2008, 12:32

Super Tipp, danke dir!

Hab mittels dem wget herausgefunden, dass ein Redirect ja klarerweise auf Port 443 erfolgt, hab nach außen aber andere Ports als die Standard-ports gemappt, deshalb erfolgt der Zugriff dann auf das geschlossene 443er Port.

Wie kann ich dem Redirect eine andere Portnummer mitteilen?

lt. dem wiki soll die /etc/apache2/modules.d/41_mod_ssl.default-vhost.conf editiert werden, die hab ich aber nicht.

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Server ~ # ls -l /etc/apache2/modules.d/
total 64
-rw-r--r-- 1 root root 4030 Feb 21 10:17 00_default_settings.conf
-rw-r--r-- 1 root root 2648 Feb 21 10:17 00_error_documents.conf
-rw-r--r-- 1 root root 5117 Feb 21 10:17 00_languages.conf
-rw-r--r-- 1 root root 2853 Feb 21 10:17 00_mod_autoindex.conf
-rw-r--r-- 1 root root  300 Feb 21 10:17 00_mod_info.conf
-rw-r--r-- 1 root root 1516 Feb 21 10:17 00_mod_log_config.conf
-rw-r--r-- 1 root root 2173 Feb 21 10:17 00_mod_mime.conf
-rw-r--r-- 1 root root  535 Feb 21 10:17 00_mod_status.conf
-rw-r--r-- 1 root root 1120 Feb 21 10:17 00_mod_userdir.conf
-rw-r--r-- 1 root root 2958 Feb 21 10:17 00_mpm.conf
-rw-r--r-- 1 root root  203 Feb 21 10:17 10_mod_mem_cache.conf
-rw-r--r-- 1 root root 2579 Feb 21 10:17 40_mod_ssl.conf
-rw-r--r-- 1 root root 1567 Feb 21 10:17 45_mod_dav.conf
-rw-r--r-- 1 root root  666 Feb 21 10:17 46_mod_ldap.conf
-rw-r--r-- 1 root root  490 Mar 31 07:58 70_mod_php5.conf


könnte sonst die 40_mod_ssl.conf sein, da steht allerdings nix von vhost.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »tausche« (10.04.2008, 12:38)


6

10.04.2008, 13:39

Um es zu rekapitulieren:

Du willst kein redirekt auf

Quellcode

1
https://Servername
sondern auf

Quellcode

1
https://Servername:Portnummer/
?
Meine Rechtschreibfehler sind gewollt und unterliegen dem Copyright des Verfassers, es sei denn, sie sind explizit unter die GPL gestellt .....

Außerdem sind sie ein Ausdruck der Persönlichkeit des Schreibers!

7

10.04.2008, 15:25

Wernieman hat den Tip schon gegeben:

Quellcode

1
	RewriteRule ^/(.*) https://%{SERVER_NAME}:4567%{REQUEST_URI} [R]

Wenn du außen den Port 4567 verwendest, sollte es bereits tun.

Sonst muß du eben 2 Rules anlegen:

1. Für deine interenen Clients mit Standardport 443
2. Für deine externen Client (bsp. via dyndns) mit deinem gewählten Port

... und wegen dem 41_ssl*.conf: Ich auch nicht. Bei apache wurden die config-struktur umgestellt und offenbar sind nicht alle Wikis am aktuellen Stand. Mögl. auch das es duch Teile reinkommt, welche ich nicht installiert habe.

Jedenfalls gibt es da nicht wirklich was neues, denn was im Wiki getan wird, ist ja nur den Port umzubiegen. Da brauchst du - wenn du dich bereits mit Non-SSL-Apache auskennst - kein weiteres Studium dazu. Guck dir die Zeilen im Wiki an, was zu tun ist ... ist keine Hexerei:

Zitat

1) After "<IfModule mod_ssl.c>" and before "<VirtualHost _default_:443>", add a new line reading "Listen 72"

2) Change "<VirtualHost _default_:443>" to be <VirtualHost _default_:72>


... :whistling:
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »dyle« (10.04.2008, 16:08)


8

10.04.2008, 15:40

@ wernieman

ganz genau, war mir scheinbar selbst nicht klar drüber

@ dyle

ah ok, auf den doppelpkt und die portnr hätt ich auch selbst kommen können, danke, funktioniert bereits prächtig. hab mir eh schon gedacht, dass das wiki veraltet wg. der neuen konfig-struktur is...wollt nur gleich mal nachfragen.

Danke nochmal!