apache and aspnet?

  • Thread starter Thread starter Sam Carleton
  • Start date Start date
S

Sam Carleton

Is it possible to have apache host an asp.net app on a windows
server? If so, how?

Sam
 
Interesting question....
The first and best way is to NOT do it. IIS6 has a terrific process model -
you get process monitoring, proactive thresholds, kernel caching, connection
management, all sorts of good stuff. Also, hosting ASP.NET within that
container is the best and most broadly tested mechanism.

If you are still set on using Apache to front-end ASP.NET, . . there are a
few options.

1. You can forward aspx requests from Apache to IIS. This isn't really
"hosting" asp.net within Apache because you still have IIS on the box. But
if the issue is a reluctance or unwillingness to expose IIS to the internet,
this may suffice. With IIS6 you can set the HTTP.SYS to listen only on
particular interfaces. For example, you could tell IIS to only listen for
requests that originated on the local box (127.0.0.1). Apache would listen
on port 80 and IIS6 might listen on port 6789. Apache can serve static
pages and IIS can serve the ASP.NET content. Or, you can deploy IIS6
remotely. In this case, you could have a dedicated network interface for
the Apache-to-IIS forwarding, and IIS would only listen for requests on that
line. The benefit of request forwarding is that you retain the IIS6 process
model.

2. If you absolutely cannot run IIS, then Cassini is an option. This would
work similarly to #1, with Apache forwarding ASPX requests to an external
host, in this case Cassini. Cassini is not a hardened web server engine,
though, and would need lots of work in order to be solid for production use.
there's no SSL, no connection management, no admin interface. I don't know
about logging or eventing. And of course Cassini gives you none of the
IIS6 process model. You can find out more about Cassini on www.asp.net .


There are other options, too, neither sanctioned or recommended by
Microsoft:

- Covalent has a commercial offering that works with their Apache server.
This is basically, as I understand it, an aspnet_wp and ISAPI implemented
for Apache (as an Apache 2.0 module). You don't get any of the IIS6 process
model goodness.

- Project Mono has built an Apache module - I am not sure of the status of
this, and not sure if it works only with Mono or if it works also with
Microsoft ASP.NET.


-Dino
 
Back
Top