![]() |
James Thornton |
| Internet Business Consultant |
| Home | Blog | Bio | Projects | Contact | Latest Blog (new site): How to Get to Genius |
|---|
Enabling OpenACS Subsites to Use SSL Through a Pound Proxy: HOWTO
OpenACS SubsitesOpenACS enables you to create subsites under the main site so that you can run multiple websites from the same code and database. For example:
With the OpenACS host-node-map utility, you can map any hostname to a subsite, hiding its relation to the main site. For example, you could map One SSL Key Per Server ProcessHowever, if you need SSL encryption for mapped subsites, you will encounter a problem since each subsite will need its own certificate, and you can only have one SSL key per server instance. Scott Goodwin, author of nsopenssl, explains:
Pound Proxy ServerIf you don't want the overhead of running multiple AOLserver processes, you can use a Pound proxy server to handle the https handshake and forward requests to a single AOLserver process. Configure the hostnames for each subsite to point its respective IP address that Pound is running on, and configure Pound to forward requests to AOLserver. Sample Pound Configuration File
# Global Directives # The IPs Pound is listening on (one IP per subsite) ListenHTTP 1.2.3.4,80 ListenHTTPS 1.2.3.4,443 /web/mainsite/etc/certs/subsite1.pem ListenHTTP 1.2.3.5,80 ListenHTTPS 1.2.3.5,443 /web/mainsite/etc/certs/subsite2.pem ListenHTTP 1.2.3.6,80 ListenHTTPS 1.2.3.6,443 /web/mainsite/etc/certs/subsite3.pem # Remove the X-SSL-Request header from incoming connections # to prevent hackers from spoofing it HeadRemove "X-SSL-Request" # Add an extra header to tell AOLserver that #the external connection is secure HTTPSHeaders 0 "X-SSL-Request: 1" #CAlist /web/james/etc/certs/test-keyfile.pem User nsadmin Group web Alive 30 Server 0 Client 10 RewriteRedirect 1 CheckURL 0 LogLevel 2 # Group Directives # Communication between Pound and AOLserver is over HTTP, not HTTPS UrlGroup ".*" HeadRequire Host ".*subsite1.com.*" # The IP AOLserver is running on BackEnd 1.2.3.7,80,1 EndGroup UrlGroup ".*" HeadRequire Host ".*subsite2.com.*" # The IP AOLserver is running on BackEnd 1.2.3.7,80,1 EndGroup UrlGroup ".*" HeadRequire Host ".*subsite3.com.*" # The IP AOLserver is running on BackEnd 1.2.3.7,80,1 EndGroup OpenACS ModificationsThe communication between Pound and AOLserver is over HTTP, even if the connection between the client and Pound is over HTTPS, so you will need to modify the OpenACS request processor to make subsites play nicely with a Pound proxy server handling the SSL connections. There are three modifications that I know of:
|
|
James Thornton, jamesthornton.com>Services: Internet Marketing And Web Site Promotion |
Electric Speed: Internet Developer |