[apache redirect alias] webmail https forcen?

Pagina: 1
Acties:

  • usr-local-dick
  • Registratie: September 2001
  • Niet online
Hoi

Op een (debian) server draait apache, de machine heeft 10 IP's, hoop vhosts.
Er is squirrelmai geinstalleerd, zodat de verschillende users via hun "eigen" URI naar de webmail kunnen. Dit komt doordat /etc/squirrelmail/apache.conf ge-include wordt:
code:
1
2
3
4
Alias /webmail /usr/share/squirrelmail
<Directory /usr/share/squirrelmail>
  Options Indexes FollowSymLinks
</Directory>

Prima dit werkt.
Ik heb echter nu een SSL certificaat gekocht wat is voor een van de hostnamen :)
Wat ik nu wil is dat iedere URI die ingetikt wordt en waarvan de base-URI begint met /webmail, naar https://server.domein.nl/webmail geredirect wordt. Op deze manier zijn de users gedwongen om https te gebruiken.
Ik wil het niet in iedere vhost file gaan zitten inkloppen.
Nu blijkt dat apache Alias en Redirect niet echt samen werken.
Als ik mijn code verander in:

code:
1
2
3
4
5
Alias /webmail /usr/share/squirrelmail
Redirect /webmail http://server.domein.nl/webmail
<Directory /usr/share/squirrelmail>
  Options Indexes FollowSymLinks
</Directory>


dan gaat dit natuurlijk niet werken (Redirection limit exceeded for this URL, zegt mozilla, IE zegt niks en gaat dood)

Kan dit met alleen Alias/Redirect of moet ik met Rewrite gaan werken?

  • Hmzaniac
  • Registratie: Januari 2002
  • Laatst online: 05-08-2023

Hmzaniac

Evil Admin

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<VirtualHost webmail.*********.nl:80>
        php_admin_value safe_mode 0
        RewriteEngine on
        RewriteLog /var/log/apache/https_rewrite_log
        RewriteLogLevel 1
        RewriteCond %{SERVER_PORT}      !^443$
        RewriteRule ^/(.*)      https://%{SERVER_NAME}/$1 [L,R]

        ServerName webmail.vslcatena.nl
        DocumentRoot /www/htdocs/horde
</VirtualHost>

<VirtualHost webmail.*********.nl:443>
        php_admin_value safe_mode 0
        ServerName webmail.vslcatena.nl
        DocumentRoot /www/htdocs/horde
        SSLEngine on
        SSLCertificateFile /etc/apache/conf/ssl/webmail.crt
        SSLCertificateKeyFile /etc/apache/conf/ssl/webmail.key
        SetEnvIf User-Agent ".MSIE*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
</VirtualHost>


Dit komt uit mn vhost file, hier moet je vast wel wat mee kunnen (met RewriteEngine dus (mod_rewrite))

[ Voor 9% gewijzigd door Hmzaniac op 17-12-2003 16:11 ]

Ik heb een WOS-post!


  • ajvdvegt
  • Registratie: Maart 2000
  • Laatst online: 04-12-2025
Ik neem aan dat 'http' nog moet worden veranderd in 'https' in je tweede voorbeeld?

En werkt de redirect ook niet toevallig zo (ik ben geen Apache goeroe, dus ik blaat ook maar wat). Ben je je recursie iig kwijt.
code:
1
Redirect http://server.domein.nl/webmail https://server.domein.nl/webmail

I don't kill flies, but I like to mess with their minds. I hold them above globes. They freak out and yell "Whooa, I'm *way* too high." -- Bruce Baum


  • Mark
  • Registratie: Juni 1999
  • Laatst online: 18-02 18:33
Wij doen het op deze manier (en die werkt):

code:
1
RewriteRule ^/webmail(.*) https://%{SERVER_NAME}/webmail$1

  • usr-local-dick
  • Registratie: September 2001
  • Niet online
hmm het werkt op geen van de manier die jullie beschrijven.
Voor de duidelijkheid ik wil geen vhosts aanmaken voor webmail.
Er moet dus ingeklopt kunnen worden:

http://www.somedomainatmyserver.nl/webmail

en dan moet het altijd redirecten naar:

https://www.domainnaam_waar_ssl_opzit.nl/webmail

Dit betekent dus (denk ik?) dat het niet in een vhost moet staan, maar in de main httpd.conf...

  • Grom
  • Registratie: Juli 2002
  • Laatst online: 25-11-2024

Grom

lief hè!

toevallig vandaag mee bezig geweest :)
Nieuwste versie van squirrelmail heeft deze apache.conf:

Alias /webmail /usr/share/squirrelmail

<Directory /usr/share/squirrelmail>
# php_value register_globals On # refer to Debian bug #128226
php_flag register_globals on
Options Indexes FollowSymLinks
<IfModule mod_dir.c>
DirectoryIndex index.php
</IfModule>
</Directory>

# users will prefer a simple URL like http://webmail.example.com
#<VirtualHost 1.2.3.4>
# DocumentRoot /usr/share/squirrelmail
# ServerName webmail.example.com
#</VirtualHost>

# redirect to https when available (thanks omen@descolada.dartmouth.edu)
<IfModule mod_rewrite.c>
<IfModule mod_ssl.c>
<Location /webmail>
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule . https://%{HTTP_HOST}%{REQUEST_URI} [L]
</Location>
</IfModule>
</IfModule>

  • usr-local-dick
  • Registratie: September 2001
  • Niet online
Omdat mijn certificaat maar voor 1 domainnaam geldig is (logisch) heb ik het veranderd in:
# redirect to https when available (thanks omen@descolada.dartmouth.edu)
<IfModule mod_rewrite.c>
<IfModule mod_ssl.c>
<Location /webmail>
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule . https://hostname.domein.nl%{REQUEST_URI} [L]
</Location>
</IfModule>
</IfModule>
En toen deed ie het :)
_/-\o_ _/-\o_ _/-\o_ _/-\o_ _/-\o_
Pagina: 1