It's been a while now. However pulled this out from a very old config backup. I know that a single IP works even if were to add multiple VH in Server.conf. This is something that I have tested on both using SSL and nonSSL modes on the same SPS.
Proxy Rules with hostheaders.
[root@spsproxy-test1 ~]# more /ProgramFiles/CA/Agent-for-SharePoint/proxy-engine/conf/proxyrules.xml
<?xml version="1.0"?>
<?cocoon-process type="xslt"?>
<!DOCTYPE nete:proxyrules SYSTEM "file:////ProgramFiles/CA/Agent-for-SharePoint/proxy-engine/conf/dtd/proxyrules.
dtd">
<!-- Proxy Rules-->
<nete:proxyrules xmlns:nete="http://www.ca.com/" debug="yes">
<nete:cond type="host" criteria="equals">
<nete:case value="sp1.spsproxy-test1.sps.com:80">
<nete:forward>http://sharepointmac1:2000$1</nete:forward>
</nete:case>
<nete:case value="sp1.spsproxy-test1.sps.com:443">
<nete:forward>http://sharepointmac1:2000$1</nete:forward>
</nete:case>
<nete:case value="sp2.spsproxy-test1.sps.com:80">
<nete:forward>http://sharepointmac2:1000$1</nete:forward>
</nete:case>
<nete:case value="sp2.spsproxy-test1.sps.com:443">
<nete:forward>http://sharepointmac2:1000$1</nete:forward>
</nete:case>
<nete:case value="sp.spsproxy-test1.sps.com:80">
<nete:forward>http://sharepointmac1:1000$1</nete:forward>
</nete:case>
<nete:case value="sp.spsproxy-test1.sps.com:443">
<nete:forward>http://sharepointmac1:1000$1</nete:forward>
</nete:case>
<nete:case value="sp3.spsproxy-test1.sps.com:80">
<nete:forward>http://sharepointmac2:2000$1</nete:forward>
</nete:case>
<nete:case value="sp3.spsproxy-test1.sps.com:443">
<nete:forward>http://sharepointmac2:2000$1</nete:forward>
</nete:case>
<nete:case value="sp4.spsproxy-test1.sps.com:80">
<nete:forward>http://sharepointmac2:3000$1</nete:forward>
</nete:case>
<nete:case value="sp4.spsproxy-test1.sps.com:443">
<nete:forward>http://sharepointmac2:3000$1</nete:forward>
</nete:case>
<nete:case value="sp5.spsproxy-test1.sps.com:80">
<nete:forward>http://sharepointmac2:40001$1</nete:forward>
</nete:case>
<nete:case value="sp5.spsproxy-test1.sps.com:443">
<nete:forward>http://sharepointmac2:40001$1</nete:forward>
</nete:case>
<nete:default>
<nete:forward>http://www.aol.com$0</nete:forward>
</nete:default>
</nete:cond>
</nete:proxyrules>
Regarding using different ACO, it is possible if we have multiple WebAgent.conf. See below. However remember to make sure that SERVERPATH in WebAgent.conf is unique for each VH. This is same thumb rule if we follow if we had a single apache install, however wanted to run multiple apache instances using different configuration files.
SERVER.CONF
<VirtualHostDefaults>
# default session scheme
defaultsessionscheme="default"
enablerewritecookiepath="no"
enablerewritecookiedomain="no"
enableproxypreservehost="no"
policyserverversion=12.5
# specify the block size for request and response in KBs
requestblocksize="4"
responseblocksize="4"
#TO-DO: Define any session scheme mappings
#<SessionSchemeMappings>
# user_agent_name=session_scheme_name
#</SessionSchemeMappings>
# Web Agent.conf
<WebAgent>
# sminitfile="C:\Program Files\CA\Agent-for-SharePoint\proxy-engine\conf\defaultagent\WebAgent.conf"
</WebAgent>
</VirtualHostDefaults>
# Default Virtual Host
<VirtualHost name="default">
#addresses="192.168.1.100"
hostnames="spagent1.ca.com"
defaultsessionscheme="default"
# specify the block size for request and response in KBs
requestblocksize="4"
responseblocksize="8"
#The defaults can be overriden
#not only for the Virtual Host
#but for the WebAgent for that
#virtual host as well
#<WebAgent>
sminitfile="C:\Program Files\CA\Agent-for-SharePoint\proxy-engine\conf\defaultagent\WebAgent1.conf"
#</WebAgent>
</VirtualHost>
# Default Virtual Host
<VirtualHost name="sp">
#addresses="192.168.1.100"
hostnames="sp.ca.com"
defaultsessionscheme="default"
# specify the block size for request and response in KBs
requestblocksize="4"
responseblocksize="8"
#The defaults can be overriden
#not only for the Virtual Host
#but for the WebAgent for that
#virtual host as well
#<WebAgent>
sminitfile="C:\Program Files\CA\Agent-for-SharePoint\proxy-engine\conf\defaultagent\WebAgent2.conf"
#</WebAgent>
</VirtualHost>
WEBAGENT CONF
# WebAgent.conf - configuration file for SiteMinder Secure Proxy
# Secure Proxy Version = , Build = 131, Update = 0000
LOCALE=en-US
HostConfigFile="C:\Program Files\CA\Agent-for-SharePoint\proxy-engine\conf\defaultagent\SmHost.conf"
AgentConfigObject="wac_spagent2010"
ServerPath="ServerPath_"
EnableWebAgent="YES"
localconfigfile="C:\Program Files\CA\Agent-for-SharePoint\proxy-engine\conf\defaultagent\LocalConfig.conf"
LoadPlugin="C:\Program Files\CA\Agent-for-SharePoint\agentframework\bin\HttpPlugin.dll"
LoadPlugin="C:\Program Files\CA\Agent-for-SharePoint\agentframework\bin\SPSPlugin.dll"
LoadPlugin="C:\Program Files\CA\Agent-for-SharePoint\agentframework\bin\SPPlugin.dll"
LoadPlugin="C:\Program Files\CA\Agent-for-SharePoint\agentframework\bin\DisambiguatePlugin.dll"
#LoadPlugin="C:\Program Files\CA\Agent-for-SharePoint\agentframework\bin\OpenIDPlugin.dll"
#LoadPlugin="C:\Program Files\CA\Agent-for-SharePoint\agentframework\bin\SessionLinkerPlugin.dll"
#LoadPlugin="C:\Program Files\CA\Agent-for-SharePoint\agentframework\bin\OAuthPlugin.dll"
#LoadPlugin="C:\Program Files\CA\Agent-for-SharePoint\agentframework\bin\SAMLDataPlugin.dll"
#LoadPlugin="C:\Program Files\CA\Agent-for-SharePoint\agentframework\bin\CertSessionLinkerPlugin.dll"
AgentIdFile="C:\Program Files\CA\Agent-for-SharePoint\proxy-engine\conf\defaultagent\AgentId.dat"
ADDITIONAL INFO: You'd need to consider.
Start SPS in Single or Multi Process Mode
SPS supports single-process and multiple-process modes, which enable the embedded Web Agent to create the Low Level Agent Worker Process (LLAWP) at runtime.
SPS can be configured to start in a single-process or multiple-process mode. Single-process mode is the default.
The modes operate as follows:
- Single-Process Mode
This mode causes the Web Agent to use local resources rather than shared operating system resources offered by the LLAWP to operate. No separate LLAWP processes are started in single-process mode. When multiple virtual hosts run, single-process mode results in an increase in the memory footprint of the SPS Java process.
Note: Single-process mode is supported only for host servers that run as a single server process.
- Multiple-Process Mode
This mode causes the LLAWP framework to spawn a process for every virtual host. Because multiple-process mode uses shared memory, SPS uses shared operating system resources for logging, caching, and monitoring of multiple web server processes.
To set the mode of operation
- Open the server.conf file in a text editor.
- Set the singleprocessmode parameter as follows:
- To use single process mode, keep singleprocessmode set to yes.
- To use multiple-process mode, change singleprocessmode to no.
- If you modify the server.conf file, restart SPS.
The SPS mode of operation is set.