Stránka přesměruje na IP adresu

PCnity

  • *****
  • 706
    • Zobrazit profil
    • E-mail
Možná mi něco uniká... ale proč se nemůže v DNS nastavit, aby zdravotnickeforum.sk mělo IP 158.255.26.55 a tam na portu 80 mít nějaký webserver, který přesměruje na 4040?

A nebo ten mod_rewrite, pokud nějaká bezpečnostní politika neomezuje trasparentní přesměrování jen na same-origin.
presne takto som nadtym rozmyslal, ci by to bolo mozne, ten port sa da menit v apache.
Takze keby som si nainstaloval a nastavil dns, bolo by to mozne?

2. Ten mod_rewrite vyzera zaujimavo, len je tam toho vela a neviem na ktoru cast sa zameriam. Tu bezpecnostnu politiku pri tomto mod rewrite ako myslite?
Ako vlastne by to fungovalo v tom mode rewrite? pride poziadavka zdravotnickeforum.sk na apache server, kedze tam je to pod ip apache ju zobrazi s danou ip. Ten mod rewrite prepise tu ip spat na zdravotnickeforum.sk? alebo na hocijaky nazov aky mu nastavim? robi to opakovane alebo jednorazovo?

Z vyjadrenia autora vyplyva ze si vie menit port.

Akurat nemusi installovat ziadne DNS ani nic podobne, staci ak nastavi rovno DNS tej domeny na spravnu IP adresu.


Nepotrebujem presnu syntax, mod_rewrite, len cast resp. nejaky priklad ktory bude vhodny pre mna a od ktoreho sa odrazim.....

Lol Phirae

No, jak to tak sleduju... co radsi ta reverzni proxy?  ::)

Kód: [Vybrat]
<VirtualHost *:80>
ServerName zdravotnickeforum.sk
    ProxyPreserveHost On
    ProxyRequests off
    ProxyPass / http://192.168.1.2/
    ProxyPassReverse / http://192.168.1.192/
</VirtualHost>

#<VirtualHost *:80>
ServerName necojineho.example.net
     ProxyPreserveHost On
     ProxyRequests off
     ProxyPass / http://192.168.1.3/
     ProxyPassReverse / http://192.168.1.193/
</VirtualHost>

<VirtualHost *:80>
ServerName jinakravina.example.org
     ProxyPreserveHost On
     ProxyRequests off
     ProxyPass / http://192.168.1.4/
     ProxyPassReverse / http://192.168.1.194/
</VirtualHost>

Predchozi samozrejme predpoklada, ze webserver za tou proxy je schopen aspon resolvovat servername.

v sites-enabled som  zmenil vsetko na allow overide all...
nainstaloval som mod_rewrite.

Do /etc/apache2/apache2.conf som pridal:
Citace
RewriteEngine on
RewriteCond %{HTTP_HOST} ^11\.11\.10\.10
RewriteRule (.*) http://zdravotnickeforum.sk/$1 [R=301,L]

kde 11.11.10.10 je ip adresa servera, restartoval som apache. Ale po zadani 11.11.10.10 do prehliadaca mi neukaze v prehliadaci zdravotnickeforum.sk ale 11.11.10.10....
Co robim zle? dakujem

takze predchadzajuci prispevok beriem spat, pomocou tohto v 000-default som dosiahol ze ked zadam 11.11.10.10:555 tak ma presmeruje na www.zdravotnickeforum.sk, cize mod_rewrite mi funguje, len nie tak ako by som chcel....cize po zadani 1.11.10.10:555 by som chcel aby ukazalo v paneli adresy www.zdravotnickeforum.sk a nie ma presmerovalo....viete poradit ako?


takto to vyzera:
<VirtualHost  *:555>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^11\.11\.10\.10
RewriteRule (.*) http://www.zdravotnickeforum.sk/$1 [R=301,L]
         DocumentRoot /var/www/forum
        <Directory /var/www/forum>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
</VirtualHost>


a

Ale to kamo prece nejde, jakpak bys chtel konfiguraci serveru ovladat klienta? Teda jinak nez mu poslat redirect.

necitali ste asi celu temu.... mam robene presmerovanie cez webhosting ked zadam www.zdravotnickeforum.sk, presmeruje ma tento webhosting na server ktory mam doma. Konkretne na odkaz: http://158.255.26.55:40040/forum/. Chcem dosiahnut aby po presmerovani, moj server - apache namiesto http://158.255.26.55:40040/forum/ prepisal nazov na www.zdravotnickeforum.sk.
Je to mozne? Cez mod_ rewrite alebo proxy?

PCnity

  • *****
  • 706
    • Zobrazit profil
    • E-mail
Este raz... NIE JE TO MOZNE tak ako si to zelas!

1) Pride request na domenove meno
2) Pride redirect na IP:Port
3) Pride redirect na domenove meno
3) Pride redirect na IP:Port
... a toto v slucke.

Cize moja otazka znie, preco nenastavit DNS priamo na spravnu IP?

nevim

Nerozumim tomu proc to zbytecne komplikujete - cely problem ma 2 roviny, ktere na sobe nejsou zavisle:

DNS - hostname vs IP adresa
nastavte aby www.zdravotnickeforum.sk smerovalo na IP 158.255.26.55, tj. neco na zpusob:
Kód: [Vybrat]
www.zdravotnickeforum.sk. IN A 158.255.26.55
tim jsme vyresili prvni problem - uzivatel kdyz bude komunikovat s lidskym nazvem, dostane se na cilovy stroj

presmerovani portu 80 (klasicky http) na 40040
tady je nekolik zpusobu, namatkove:
  • pokud na cilovem stroji nebezi zadny jiny web, tak lze treba pres IPTABLES udelat forwarding na urovni paketu a nemusime resit vubec HTTP:
Kód: [Vybrat]
# iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 158.255.26.55:40040
  • pokud tam jsou jeste weby, tak na http serveru nastavit reverseproxy jak je uvedeno uz vyse, pripadne rewrite. Kazdopadne v cili musi vzdy byt port 40040, vyse uvedene priklady s rewrite mi nedavaji moc smysl

kde je problem?

PCnity

  • *****
  • 706
    • Zobrazit profil
    • E-mail
Pokial ma autor otazky ten apache priamo pod kontrolou, moze ho rovno nechat pocuvat na porte 80 so zapnutym namebased rozlisovanim webov. A cely problem je vyrieseny.
Takto by to ani nebolo zavisle na websupporte a ich redirecte, nakolko by sa request dostal na spravnu adresu priamo.

neviem ci to dobre chapem s tym dns...
hovorite, ze keby som si upravil dns zaznam vo websupporte(webhostingova firma) tak, ze by mi to smerovalo len na ip bez portu a zlozky...tak by sa v prehliadaci ukazoval len nazov, nie ip adresa s portom?

Ak to tak je mozne, tak danu verejnu v hlavnom routri mozem presmerovat z 80 port na port 40040(a v apachi by som vyriesil ak pride poziadavka na 40040, tak mi otvori /var/www/zdravotnickeforum..), chapeme sa?, resp. chapem vas?

este raz upresnim problem:
mam doma server, kde mam apache, na nom je stranka v zlozke /var/www/zdravotnickeforum....tento server je za routrom, ktory ma verejnu 158.255.26.55, ten router presmerovava port 40040 na port 80 serveru....nebol by problem pouzit verejnu priamo na server, alebo priamo port 80.....
Websupport mi robi len presmerovanie na 158.255.26.55:40040/zdravotnickeforum.......

PCnity

  • *****
  • 706
    • Zobrazit profil
    • E-mail
Definitivne riesenie... Nastav DNS:

www.zdravotnickeforum.sk --> A --> Websupport
forum.zdravotnickeforum.sk --> 158.255.26.55

Na webhotingu vypni presmerovanie, nahod php script:

<?php
  header("Location: http://forum.zdravotnickeforum.sk:40040/forum/");
?>

--------------------------
1) Takto dojde request na www.zdravotnickeforum.sk(:80) do websupportu
2) Websupport posle redirect na http://forum.zdravotnickeforum.sk:40040/forum/
3) Domenove meno forum.zdravotnickeforum.sk resolvuje na tvoj server

nevim

mit v URL 40040 mi prijde jako spatne reseni.

Reverseproxy, ci rewrite to schova do hezke adresy, navic pristup na nestandardni porty bude delat problem v restriktivnim prostredi, coz je temer cela statni sprava a vsechny vetsi spolecnosti ... nevim kdo je cilova skupina pro dane forum, ale proc si zavirat cestu hned na zacatku.

dale to chapu tak, ze na cele domene pobezi jen to forum ... ma to i v nazvu, nebo se pletu?

mne napadajú tieto možnosti
- vo websupporte spraviť http proxy (neviem, aký program tam máš zaplatený, či iba parkovanie, hosting...) - táto možnosť sa mi nepáči, ale je to možné
- nastaviť router tak, aby prijímal 80 namiesto toho šialeného 40tisícového portu a v DNS nastaviť tvoju IP - to ale závisí od poskytovateľa pripojenia, či takú možnosť máš
- vykašlať sa na domáci server a hostovať to vo websupporte alebo hocikde inde - toto by som považoval za najlepšie riešenie