Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Jak zrobić ... port 80 i 443 na apache-ssl...

250 views
Skip to first unread message

H_R

unread,
Mar 27, 2008, 10:23:10 AM3/27/08
to
Witam.

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.

Mariusz Kruk

unread,
Mar 27, 2008, 10:26:26 AM3/27/08
to
epsilon$ while read LINE; do echo "$LINE"; done < "H_R"

>Czy jest jakiś elegancki sposób aby uzyskał to co chcę?

Tak. Zrobić na porcie 80 normalne przekierowanie na https. Inaczej się
nie da.

--
Kruk@ -\ | A świstak siedzi i wyrabia nadgodziny
}-> epsilon.eu.org |
http:// -/ |
|

H_R

unread,
Mar 27, 2008, 10:45:41 AM3/27/08
to
Mariusz Kruk pisze:

> epsilon$ while read LINE; do echo "$LINE"; done < "H_R"
>> Czy jest jakiś elegancki sposób aby uzyskał to co chcę?
>
> Tak. Zrobić na porcie 80 normalne przekierowanie na https. Inaczej się
> nie da.

"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.

ascatec

unread,
Mar 27, 2008, 11:09:49 AM3/27/08
to
H_R pisze:
ty masz 2 wersje apache, masz osobno skompilowane z ssl i bez ssl?
ja zazwyczaj mam jednego apache, i tylko w jego plikach konfiguracyjnych dla vhostow wlanczam ssl lub nie.
jak chcesz wszystko po ssl, to w vhoscie :80 dajesz redirect na 443 i tyle

H_R

unread,
Mar 27, 2008, 11:25:52 AM3/27/08
to
ascatec pisze:

> ty masz 2 wersje apache, masz osobno skompilowane z ssl i bez ssl?
> ja zazwyczaj mam jednego apache, i tylko w jego plikach konfiguracyjnych dla vhostow wlanczam ssl lub nie.
> jak chcesz wszystko po ssl, to w vhoscie :80 dajesz redirect na 443 i tyle

Ja mam dwie wersje apacha. W ogole distro to debian etch :)
Tam mam apache i apache-ssl.

--
Pozdr.
H_F apache :)

H_R

unread,
Mar 27, 2008, 12:47:02 PM3/27/08
to
H_R pisze:

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.

Nicram

unread,
Mar 29, 2008, 6:05:35 PM3/29/08
to
to jest standardowy plik generowany przez apache. robisz tylko wpis
redirectmatch
-------------------


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


Konrad Kosmowski

unread,
Mar 29, 2008, 7:11:00 PM3/29/08
to
** Nicram <marci...@o2.pl> wrote:

> 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

0 new messages