Apache redirect/rewrite

Marko

Apache redirect/rewrite
« kdy: 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.


Fantomas

Re:Apache redirect/rewrite
« Odpověď #1 kdy: 26. 04. 2015, 22:15:25 »

e3k

Re:Apache redirect/rewrite
« Odpověď #2 kdy: 26. 04. 2015, 23:47:41 »

Re:Apache redirect/rewrite
« Odpověď #3 kdy: 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.

Re:Apache redirect/rewrite
« Odpověď #4 kdy: 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.

   


Sten

Re:Apache redirect/rewrite
« Odpověď #5 kdy: 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.

Re:Apache redirect/rewrite
« Odpověď #6 kdy: 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.

Pozor si dejte také na to, že chcete přepisovat cestu. Pokud web používá absolutní cesty, nebudou vám ty adresy fungovat.

Dzavy

Re:Apache redirect/rewrite
« Odpověď #7 kdy: 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>