redirect apache map naar ander url adres

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoi,

Ik heb dit topic maar gestart onder serversoftware aangezien het met apache te maken heeft.

Heb al diverse topics bekeken, maar kan tot nu toe geen oplossing geven voor hetgeen dat ik probeer in apache.

** Wat wil ik? **

Ik heb 1 WAN ip adres. Aan dit adres zit een domeinnaam.

Op het WAN adres moet apache draaien op poort 80. Dit is de enige poort die open moet/mag staan.

nu wil ik bijvoorbeeld naar het volgende adres:
www.test.selfhost.nl\sabnzbd of www.test.selfhost.nl\admin

Deze komt dan binnen op mijn apache. Ik wil graag dat apache automatisch een interne redirect doet naar mijn server http://192.168.1.2:8800/sabnzbd of http://192.168.1.2:8080/admin.

Eigenlijk een redirect op het laatste gedeelte van de URL naar een ander intern ipadres. De gegevens van het interne adres moeten dan via het WAN adres weer naar buiten gegeven worden. Simpel dus:

http://www.test.selfhost.nl/sabnzbd --> interne redirect naar http://192.168.1.2:8800/sabnzbd
http://www.test.selfhost.nl/admin --> interne redirect naar http://192.168.1.2:8080/admin

Wie weet of dit kan? Ik heb de handleiding van apache al eens doorgenomen maar kan het niet vinden.

[ Voor 9% gewijzigd door Verwijderd op 01-06-2010 15:39 ]


Acties:
  • 0 Henk 'm!

  • sanfranjake
  • Registratie: April 2003
  • Niet online

sanfranjake

Computers can do that?

(overleden)
Rewrite filters, IIS kan het ook. Ik geloof dat het in Apache MOD_REWRITE heet :)

Mijn spoorwegfotografie
Somda - Voor en door treinenspotters


Acties:
  • 0 Henk 'm!

  • Accesteam
  • Registratie: Maart 2009
  • Laatst online: 14-09 08:24
Hmmz, ik vind je beschrijving wat onduidelijk.

Wil je nou dat mensen van buitenaf gewoon je webserver kunnen bereiken? Of wil je dat als jij vanuit hetzelfde netwerk dat domein bezoekt je meteen in het interne netwerk komt, en niet via internet op die webserver komt.

Verder heeft dit denk weinig met Apache te maken, maar meer met de routing in je netwerk en/of DNS Server (ligt eraan wat nou precies het probleem is).

[EDIT] @ Hierboven; voor Apache heb je inderdaad Mod_Rewrite. Maar denk niet dat dat hier relevant is. Volgens mij gaat het hier gewoon om een simpele port forward naar het juiste IP en wat records aanmaken in de DNS.

[ Voor 25% gewijzigd door Accesteam op 01-06-2010 15:57 ]


Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
sanfranjake schreef op dinsdag 01 juni 2010 @ 15:48:
Rewrite filters, IIS kan het ook. Ik geloof dat het in Apache MOD_REWRITE heet :)
Het moet naar een ander intern adres als ik 't zo lees, dus ik gok dat de TS meer heeft aan een reverse proxy (m.b.v. mod_proxy)

Acties:
  • 0 Henk 'm!

  • TheBorg
  • Registratie: November 2002
  • Laatst online: 15:17

TheBorg

Resistance is futile.

Waarom een interne redirect? Dat kan toch ook met je router?

Wat je zoekt is mod_proxy, niet mod_rewrite, omdat de "interne" server niet rechtstreeks van buitenaf toegankelijk is (tenzij je dus de instellingen in je router doet).

Acties:
  • 0 Henk 'm!

  • mace
  • Registratie: Juni 2003
  • Laatst online: 14-09 13:12

mace

Sapere Aude

Tja, of een index.html bestandje met een meta refresh erin?

Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
TheBorg schreef op dinsdag 01 juni 2010 @ 15:54:
Waarom een interne redirect? Dat kan toch ook met je router?
Hij gebruikt meerdere poorten en 't moet a.d.v. mappen op z'n server, dus simpelweg :80 in de router naar :8080 intern mappen gaat niet lukken.
mace schreef op dinsdag 01 juni 2010 @ 15:55:
Tja, of een index.html bestandje met een meta refresh erin?
De TS heeft het over een poort open aan de WAN-zijde van de router, dus ik ga er vanuit dat hij het vanaf 't grote boze internet beschikbaar wil hebben..

(En dan gaat een redirect naar 192.168.1.2 niet werken natuurlijk, tenzij in je lokale LAN waar je daar toevallig bent ook een server draait op dat IP ;))

[ Voor 43% gewijzigd door Osiris op 01-06-2010 15:58 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
het is geen simpele port forward.

Simpel gezegd : ik wil 1 poort naar buiten open hebben staan dat is dus poort 80. (inderdaad op het WWW)

Iedereen komt op poort 80 binnen op apache.

Als men in apache op www.test.com\1 komt moet er intern geredirect worden naar een ip 192.168.1.2:8800 en doet met www.test.com\2 dan moet er intern geredirect worden naar ip 192.168.1.2:8080.

Intern is buiten niet zichtbaar, dus moet apache zelf de spulletjes van 192.168.1.2:8800 of 8080 halen en naar buiten sturen op het WAN adres.

[ Voor 19% gewijzigd door Verwijderd op 01-06-2010 16:01 ]


Acties:
  • 0 Henk 'm!

  • mace
  • Registratie: Juni 2003
  • Laatst online: 14-09 13:12

mace

Sapere Aude

Maar je wil dus de gegevens die op die 2 poorten aangeboden worden als het ware naar buiten proxyen? Als in, het moet van buitenaf bereikbaar zijn?

[ Voor 19% gewijzigd door mace op 01-06-2010 16:01 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
mace schreef op dinsdag 01 juni 2010 @ 16:00:
Maar je wil dus de gegevens die op die 2 poorten aangeboden worden als het ware naar buiten proxyen? Als in, het moet van buitenaf bereikbaar zijn?
inderdaad.

192.168.1.2:8800 moet beschikbaar zijn en 192.168.1.2:8080 . Allen vanaf poort 80. Ik wil dit dus het liefst doen via www.test.com/map1 en www.test.com/map2 . Via de mapnamen wil ik dus aangeven naar welk ip/poort het moet.

Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
't Antwoord is al gegeven hoor ;)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Osiris schreef op dinsdag 01 juni 2010 @ 16:03:
't Antwoord is al gegeven hoor ;)
die mis ik dan even.. sorry. Heb meerdere oplossingen langs zien komen. Maar moet ik de proxy gebruiken?

Acties:
  • 0 Henk 'm!

  • mace
  • Registratie: Juni 2003
  • Laatst online: 14-09 13:12

mace

Sapere Aude

ik zou zeggen kijk eens naar mod_proxy

Acties:
  • 0 Henk 'm!

  • Accesteam
  • Registratie: Maart 2009
  • Laatst online: 14-09 08:24
Als ik de voorbeelden zie, gok ik dat op elke poort een andere instantie van de Web Server draait (Sabnzbd bijvoorbeeld).

Wat hier voorgesteld word is dus nóg een web server op poort 80 draaien, en dan daarin 'doorverwijzen' naar poort 8080 en 8800 d.m.v. bijvoorbeeld een Proxy. Dit zou dus betekenen dat je Apache server een andere Apache server binnen hetzelfde netwerk aanspreekt en daarvan de pagina laad.

Acties:
  • 0 Henk 'm!

  • mace
  • Registratie: Juni 2003
  • Laatst online: 14-09 13:12

mace

Sapere Aude

^^ Yup.

nouja mod_proxy dus en dan vooral met ProxyPass.

ProxyPass /mapje1 http://192.168.1.2:8000
ProxyPass /mapje2 http://192.168.1.2:8080

o.i.d.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
thanks voor de input. Nu ff voldoende materie. Ik duik er even in!

Acties:
  • 0 Henk 'm!

  • mace
  • Registratie: Juni 2003
  • Laatst online: 14-09 13:12

mace

Sapere Aude

pas wel donders goed op dat je de boel goed configureert, je wil niet met een open proxy zitten.

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 15:45

Janoz

Moderator Devschuur®

!litemod

Accesteam schreef op dinsdag 01 juni 2010 @ 16:08:
Als ik de voorbeelden zie, gok ik dat op elke poort een andere instantie van de Web Server draait (Sabnzbd bijvoorbeeld).

Wat hier voorgesteld word is dus nóg een web server op poort 80 draaien, en dan daarin 'doorverwijzen' naar poort 8080 en 8800 d.m.v. bijvoorbeeld een Proxy. Dit zou dus betekenen dat je Apache server een andere Apache server binnen hetzelfde netwerk aanspreekt en daarvan de pagina laad.
Bijna. In dit geval roept apache niet een andere apache aan, maar de webserver van sabnzbd.

Oplossing is inderdaad modproxy en vervolgens in je configurtatie:


ProxyPass /sabnzbd/ http://127.0.0.1:8001/sabnzbd/


Eventueel nog even wat authenticatie toevoegen en klaar.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Janoz schreef op dinsdag 01 juni 2010 @ 16:26:
[...]

Bijna. In dit geval roept apache niet een andere apache aan, maar de webserver van sabnzbd.

Oplossing is inderdaad modproxy en vervolgens in je configurtatie:


ProxyPass /sabnzbd/ http://127.0.0.1:8001/sabnzbd/


Eventueel nog even wat authenticatie toevoegen en klaar.
Thanks! Het is een reverseproxy toch?

Ik voeg idd hetvolgende toe aan mijn apache.conf

ProxyRequests Off

<Proxy *>

Order deny,allow
Allow from all

</Proxy>

ProxyPass /marcel/ http://192.168.1.2:8800/sabnzbd
ProxyPassReverse /marcel/ http://192.168.1.2:8800/sabnzbd


Alleen ff zoeken waar ik die proxy aan moet zetten, maar dat gaat wel lukken. --> heb de volgende module geladen:
LoadModule proxy_module modules/mod_proxy.so

Dit is voldoende neem ik aan voor een veilige proxy? of staat er nu al wat open?
Ik krijg daarnaast helaas nog een Internal Server error :(.

[ Voor 8% gewijzigd door Verwijderd op 02-06-2010 11:02 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
het werkt inmiddels. :) :)

Ik heb ProxyRequests Off staan. Is dat voldoende voor beveiliging van buitenaf? Ik wil liever niet dat anderen misbruik van mijn proxy kunnen maken.

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 15:45

Janoz

Moderator Devschuur®

!litemod

Op dit moment kan iedereen er bij. Als alleen jij vanaf overal er bij wilt dan zul je authenticatie toe moeten voegen (bij voorkeur digest ipv basic) en anders zul je bij je deny allow alleen je lokale netwerk toe moeten laten.

Ikzelf heb het zo geconfigureerd dat lokaal iedereen erbij kan en dat remote een wachtwoord nodig is.
code:
1
2
3
4
5
6
7
8
9
10
<Proxy * >
  Order deny,allow
  Deny from all
  AuthType Digest
  AuthName "Prive"
  AuthUserFile /etc/apache2/digests
  Require valid-user
  Allow from 192.168
  Satisfy Any
</Proxy>

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • begintmeta
  • Registratie: November 2001
  • Niet online

begintmeta

Moderator General Chat
Ik heb een wat verwante vraag, dus die plak ik hier maar bij.

Ik gebruik apache 2.2 met virtualhosts om verschillende subdomeinen op het web te gooien. Daarbij gebruik ik overigens ook https/SNI.

Nu wil ik graag sub2.domein.net/pagina.php beschikbaar maken via sub1.domein.net/pagina.php.

Hoe krijg ik dat op een nette manier voor elkaar?

Acties:
  • 0 Henk 'm!

  • mace
  • Registratie: Juni 2003
  • Laatst online: 14-09 13:12

mace

Sapere Aude

Met Alias lijkt me.

Alias /pagina.php /var/www/sub1/public_html/pagina.php

of zoiets.
Pagina: 1