Fórum Root.cz

Hlavní témata => Server => Téma založeno: Marko 26. 04. 2015, 20:40:25

Název: Apache redirect/rewrite
Přispěvatel: Marko 26. 04. 2015, 20:40:25
Ahojte,

potreboval by som poradit, riesim problem s presmerovanim v ramci domeny. na www.mojadomena.tld mam zakupeny certifikat
potreboval by som docielit, ze www.mojadomena.tld/sluzba bude presmerovane na sluzba.mojadomena.tld, tak aby v prehliadaci stale ostalo iniciovane https://www.mojadomena.tld/sluzba

Vopred dakujem za kazdu radu.
Název: Re:Apache redirect/rewrite
Přispěvatel: Fantomas 26. 04. 2015, 22:15:25
A co ti brani v tom si neco o tom precist a vyzkouset?
http://www.jakpsatweb.cz/server/mod-rewrite.html
http://httpd.apache.org/docs/current/mod/mod_rewrite.html
Název: Re:Apache redirect/rewrite
Přispěvatel: e3k 26. 04. 2015, 23:47:41
skor toto https://wiki.apache.org/httpd/RedirectSSL
Název: Re:Apache redirect/rewrite
Přispěvatel: Filip Jirsák 27. 04. 2015, 06:57:06
Přesměrováním to udělat nejde. Vždy, jakmile prohlížeč dá požadavek na nějakou adresu, ta adresa se vypíše v adresním řádku.
Název: Re:Apache redirect/rewrite
Přispěvatel: markoIP 27. 04. 2015, 14:59:43
Presne na to som narazil.
pri redirecte sa adresa zmeni na tu "prepisovanu" a to nechcem.

Potrebujem docielit, aby url ostala povodna ako pri prvom requeste teda www.mojadomena.tld/sluzba  .
skusal som
RewriteEngine on
RewriteRule   Na-co-se-ptá-klient   Co-skutečně-dostane (bez uspechu)

ten host na ktory to potrebujem "presmerovat na pozadi" je host na inej IP, ale to by nemal byt problem.

Natrafil som este na moznost mod_proxy, mate s tym skusenost? Jednoduchy priklad, ktory by mal fungovat?

Vopred dakujem.
M.

   
Název: Re:Apache redirect/rewrite
Přispěvatel: Sten 27. 04. 2015, 15:05:26
ten host na ktory to potrebujem "presmerovat na pozadi" je host na inej IP, ale to by nemal byt problem.

To je ale dost zásadní informace a důvod, proč rewrite nefunguje. Rewrite je interní, uvnitř jednoho web serveru. Na to, co chcete dělat, potřebujete proxy.
Název: Re:Apache redirect/rewrite
Přispěvatel: Filip Jirsák 27. 04. 2015, 17:55:34
Presne na to som narazil.
pri redirecte sa adresa zmeni na tu "prepisovanu" a to nechcem.

Potrebujem docielit, aby url ostala povodna ako pri prvom requeste teda www.mojadomena.tld/sluzba  .
skusal som
RewriteEngine on
RewriteRule   Na-co-se-ptá-klient   Co-skutečně-dostane (bez uspechu)

ten host na ktory to potrebujem "presmerovat na pozadi" je host na inej IP, ale to by nemal byt problem.
Nebude to vůbec žádný problém, stačí jenom změnit protokol HTTP...


Natrafil som este na moznost mod_proxy, mate s tym skusenost? Jednoduchy priklad, ktory by mal fungovat?
mod_proxy ovšem neudělá přesměrování, nýbrž přijme požadavek od klienta a svým jménem pošle stejný (nebo upravený) požadavek serveru, přijme od něj odpověď a tu pak přepošle klientovi. V souvislosti se SSL to mimo jiné znamená, že certifikát a privátní klíč bude na tom proxy serveru, s tím bude klient komunikovat šifrovaně - a proxy server veškerou komunikaci uvidí.

Jednoduchý příklad, který funguje, je v dokumentaci mod_proxy (http://httpd.apache.org/docs/2.4/mod/mod_proxy.html).

Pozor si dejte také na to, že chcete přepisovat cestu. Pokud web používá absolutní cesty, nebudou vám ty adresy fungovat.
Název: Re:Apache redirect/rewrite
Přispěvatel: Dzavy 27. 04. 2015, 18:38:49
Jo asi jsem to pochopil. Nebude to presmerovani, ale proxovani. Tohle (cca) prijde do konfigurace Apache na www.mojadomena.tld:

Kód: [Vybrat]
<VirtualHost *:443>
    ServerAdmin admin@mojadomena.tld
    ServerName www.mojadomena.tld

    ProxyPreserveHost On
    ProxyTimeout 3600
    SSLEngine on
    SSLProxyEngine on
    SSLCertificateChainFile /etc/pki/startssl/chain_class2.pem
    SSLCertificateFile /etc/pki/startssl/mojadomena.tld.crt
    SSLCertificateKeyFile /etc/pki/startssl/mojadomena.tld.key
    <Location /sluzba>
        Order allow,deny
        Allow from all
        ProxyPass https://sluzba.mojadomena.tld/
        ProxyPassReverse https://sluzba.mojadomena.tld/
    </Location>
</VirtualHost>