Chodzi mi po głowie taki temat. Mam apacha-ssl który działa na porcie
443. Aby wejść na stronkę trzeba w przeglądarce pamiętać o tym https...
Jeśli zapomnę o "s" to nie połączy się z serwerem... Jak zrobić aby
obojętnie jak wpiszę to się połączę z serwerem ssl.
Problem obszedłem tak, że zainstalowałem apache zwykłego
i spreparowałem index.html który przekierowywał na https.
Ale wydaje mi się to rozwiązanie trochę bez sensu, żeby instalować
całego apacha tylko po to, żeby przekierowanie proste zrobić. Szkoda
zasobów ;)
Drugi pomysł był taki aby za pomocą iptables przekierować ruch.
Sprawdziłem regułki:
-A PREROUTING -d x.x.x.x -i eth0 -p tcp -m tcp --dport 80 -j DNAT
--to-destination x.x.x.x:443
oraz
-A PREROUTING -j REDIRECT -p tcp --destination-port 80 --to-ports 443
ale to nie zadziałało.
Probowałem też ustawić aby apache-ssl nasłuchiwał na porcie 80 i 443 ale
działa tylko połączenie https.
Czy jest jakiś elegancki sposób aby uzyskał to co chcę?
Z góry dzięki za pomoc.
--
Pozdr.
H_F.
Tak. Zrobić na porcie 80 normalne przekierowanie na https. Inaczej się
nie da.
--
Kruk@ -\ | A świstak siedzi i wyrabia nadgodziny
}-> epsilon.eu.org |
http:// -/ |
|
"Normalne" w sensie instalacji apacha zwyklego i przekierowanie za
posrednictwem niego na https? Czy tak jak mam teraz...
No cóż myślałem, że można inaczej ;)
--
Pozdr.
H_F.
Ja mam dwie wersje apacha. W ogole distro to debian etch :)
Tam mam apache i apache-ssl.
--
Pozdr.
H_F apache :)
Rozwiązałem temat tak. Odinstalowałem apache i został mi tylko
apache-ssl. W konfigu demona dopisałem aby nasłuchiwał także na porcie 80:
Listen 443
Listen 80
A na koncu pliku dopisałem coś takiego:
<VirtualHost jakas.domena.pl:80>
SSLDisable
Port 80
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}$1 [R,L]
</VirtualHost>
I działa piknie. Jak zapomnę literki "s" w adresie http://x.x.x.x
wpisując adres to serwer z automatu mnie połączy z https. No i nie
marnuje zasobów... ;)
Może sie komuś przyda a może ktoś poda jeszcze inne rozwiązanie...
--
Pozdrawiam grupowiczów.
H_F.
NameVirtualHost *
<VirtualHost *>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# This directive allows us to have apache2's default start
page
# in /apache2-default/, but still have / go to the right
place
RedirectMatch ^/$ https://twoja.strona.ssl.pl
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
---------------------
jak ktos bedzie chcial sie z twoim servem polaczyc na port 80 to odrazu
zostanie przekierowany na https://twoja.strona.ssl.pl
powodzenia
> RedirectMatch ^/$ https://twoja.strona.ssl.pl
(...)
> jak ktos bedzie chcial sie z twoim servem polaczyc na port 80 to odrazu
> zostanie przekierowany na https://twoja.strona.ssl.pl powodzenia
No tylko to jest z dupy bo jak ktoś wpisze http://twoja.strona.ssl.pl/foo to go
przewali na główną.
--
+ ' .-. .
, * ) )
http://kosmosik.net/ . . '-' . kK