[Zope] Zope and IIS (again)

Igor Leturia IGOR@emun.com
Sun, 14 Apr 2002 17:57:53 +0200


  Hi!!
  After some time trying the different proposals for my question, I've
learned a bit and obtained some conclusions, but now I've got some other
doubts.
  I'll tell briefly what the problem was. I've got a server with Zope
and IIS, and each has some services or pages that I want to access from
outside. I put each server on a different port (80 and 8080), but I saw
that some of the outside clients that try to access to the pages have
firewalls that block every port except 80. So I need all communications
from the outside to my server to be on port 80.
  I obtained two possible solutions from this list. Both of them said
that I could put Zope and IIS on ports different from 80 (81 and 8080,
for example) and then install some sort of proxy server that would
attend the requests on port 80, ask to Zope or IIS on their ports and
send the response back to the client on port 80. One of the solutions
was installing Microsoft Proxy Server and the other was installing
Apache an rewrite rules.
  I tried Microsoft Proxy Server first. It doesn't exist any more, it is
now Microsoft ISA Server. I installed and configured it correctly. But
this is what happens:
  The client makes the request in port 80. The request is attended by
ISA Server, which sends another request to Zope on port 8080 or to IIS
on port 81. When ISA Server obtains the response, it sends it to the
client through port 80.
  All is fine up to now. The problem is both Zope and IIS include '<base
href>' tags or absolute URLs with 'www.mydomain.com:8080' or
'www.mydomain.com:81' in the pages, so after that the client requests
all the objects in the pages (images, frames, etc.) on ports 8080 and
81, and as they're blocked they are not shown properly.
  I can fix my Zope pages not to include those tags or absolute URLs,
but not the Zope management interface or the IIS pages. So the solution
I need is that ISA Server (or whatever software I install as front-end
to Zope and IIS) would delete all the ':8080' and ':81's from the pages
before serving them to the client, so that the client would do
subsequent requests for the images, etc. on the pages again in port 80.
  Does anyone know how to do this in ISA Server? Or does anyone know if
Apache can do it? And any other web proxy server?
  Thanks in advance,
						Igor Leturia