[Apache] OWA (ProxyPass)

Pagina: 1
Acties:

  • Muppet
  • Registratie: Maart 2001
  • Laatst online: 10-09-2024

Muppet

GT: Beestig

Topicstarter
Doelstelling :D, ik heb dus apache draaien als webservert maar wil ook webmail draaien van Exchange 2003. Apache draait op poort 80 en OWA heb ik op poort 8080 staan.

Ik wil dus gewoon webmail via poort 80 bereiken.

Op dit moment doe ik het zo
code:
1
2
3
4
5
6
7
8
<virtualhost IP>
Servername HOSTNAME
ProxyRequests On
ProxyVia Block
ProxyPreserveHost on
ProxyPass / "HOSTNAME:8080/"
ProxyPassReverse / "HOSTNAME:8080/"
</virtualhost>

De 1e hostname wordt aan de buitenkant geresolved naar de apache bak. De 2e hostname wordt intern geresolved naar OWA. Intern werkt dit allemaal prima.

Alleen het probleem is . . ik krijg gewoon een inlog box van Exchange en vervolgens zie ik het frameset van OWA en daarna krijg ik een timeout. Net als hij Interne Webserver(OWA) achter apache (extern)

Wat het probleem dus blijkt te zijn is dat hij de 1e pagina netjes over poort 80 gooit waardoor ik ook mooi de frameset zie. Maar de index en de inbox pagina wil hij over poort 8080 hebben. Deze proxiet hij dus niet. Zodra ik namelijk poort 8080 openzet voor de buitenwereld dan opent hij die "binnenste" pagina's (frames) wel. Terwijl in de url netjes poort 80 staat.

Iemand een id wat dit kan oplossen? Op dit moment werkt het wel hoor als ik die poort openzet. Maar als ik bij een bedrijf ben wat poort 8080 dicht heeft kan ik geen mail checken. En af en toe is dat verrekte handig als je met exchange aan het testen bent.

thnx

There is no art to find the minds construction in the face


  • mindcrash
  • Registratie: April 2002
  • Laatst online: 22-11-2019

mindcrash

Rebellious Monkey

Even een paar seconden gegoogled op mod_proxy en OWA. Toen kwam ik op een vage Italiaanse mailinglist uit waarop een methode stond die in ieder geval werkt met Exchange 2000/Exchange 5.5 (en aangezien Exchange 2003 aan de oppervlakte niet erg veel verschilt van de rest zou dat ook goed moeten gaan lijkt me). Maar zo simpel als in dat topic staat beschreven gaat het dus totaal niet ;)

De ingredienten van deze setup zijn:

- Werkende Exchange installatie met OWA op je Windows server.
- Werkende Apache2 installatie met mod_proxy op je Linux server.

Ten eerste maak je een leuke domeinnaam, laten we zeggen owa.mijndomein.nl. Dit domein zet je in DNS met het ip van je Linux server, maar daarnaast ook in /etc/hosts met het ip van je Windows server. Vervolgens maak je een virtualhost aan in Apache met bovenstaande domeinnaam en verwijs je de drie public exchange folders van IIS naar je proxy:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<VirtualHost owa.mijndomein.nl>

# zet hier andere belangrijke dingen neer zoals de htdocs root van deze host

<Location "/exchange">
ProxyPass http://owa.mijndomein.nl/exchange
ProxyPassReverse http://owa.mijndomein.nl/exchange
</Location>

<Location "/exchweb">
ProxyPass http://owa.mijndomein.nl/exchweb
ProxyPassReverse http://owa.mijndomein.nl/exchweb
</Location>

<Location "/public">
ProxyPass http://owa.mijndomein.nl/public
ProxyPassReverse http://owa.mijndomein.nl/public
</Location>

# belangrijke zaken loggen
ErrorLog logs/owa_proxy_error
CustomLog logs/owa_proxy_access common
CustomLog logs/owa_proxy_requests \"%t %h  \"%r\" %b"
</VirtualHost>


Vervolgens voeg je via IIS manager de hostname owa.mijndomein.nl toe aan de Default website (waar OWA onder draait in IIS). Zet Windows Integrated authentication UIT en basic authentication AAN (eventueel is bovenstaande oplossing ook met SSL mogelijk trouwens)

Vervolgens zet je nog een leuk php of html of whatever document in de root van je VirtualHost waarin je de browser verplaatst naar de locatie http://owa.mijndomein.nl/exchange. een php bestandje met 1 regel:

code:
1
2
3
<?php
header("http://owa.mijndomein.nl/exchange")
?>


is voldoende :)

Overige suggesties:

- Zorg voor een secure environment in zowel Apache als IIS door gebruik te maken van tools als IISLockdown en mod_security.

Troubleshooting:

- Kijk of de installatie zoals deze default binnen IIS wordt geinstalleerd wél werkt zoals het hoort.
- Ping vanaf de Linux server owa.mijndomein.nl. Je zou het interne ip van je Windows machine terug moeten krijgen. (aangezien je deze in etc/hosts hebt gezet).
- Ping vanaf een willekeurige client owa.mijndomein.nl. Je zou nu het externe ip van je Linux bak terug moeten krijgen. (aangezien je deze in je DNS server hebt gezet)
- Probeer ook eens te connecten met Firefox ;)
- Eventueel kun je ook een packetsniffer gebruiken om de communicatie tussen de verschillende onderdelen van deze OWA implementatie te kunnen bekijken.

Hopelijk heb je hier wat aan :)

[ Voor 13% gewijzigd door mindcrash op 29-09-2004 11:05 ]

"The people who are crazy enough to think they could change the world, are the ones who do." -- Steve Jobs (1955-2011) , Aaron Swartz (1986-2013)


  • Muppet
  • Registratie: Maart 2001
  • Laatst online: 10-09-2024

Muppet

GT: Beestig

Topicstarter
Dit heb ik ook geprobeerd en geeft exact hetzelfde probleem. De originele pagina proxiet hij netjes maar die andere 2 wil hij over poort 8080 hebben. Die pagina's in de frameset zeg maar.

There is no art to find the minds construction in the face


  • MBV
  • Registratie: Februari 2002
  • Laatst online: 21-08 21:44

MBV

Het is over de twee weken, maar nog binnen de maand :) Ik heb in dit topic (en de andere over OWA) dit niet terug zien komen: ProxyHTMLURLMap. zie www.apacheweek.com

Ik zit zelf met een ander probleem (krijg alleen maar 403 errors te zien), maar daar zal ik wel een nieuw topic over openen.
edit:
met <Location "/blaat"> kan je allow en deny rules instellen, dan krijg ik het wel aan het werken.

[ Voor 16% gewijzigd door MBV op 02-11-2004 20:25 ]