Rendering a Guide in a server cluster that does not use sticky
sessions fails with a NullPointerException. A Guides request leverages
secure URLs that, by default, are unique to the server they are
generated on. In a cluster that uses sticky sessions, after a request
hits a node in the cluster, all subsequent requests for that session
or user are routed exclusively to that server, and everything is
ok. In a cluster that does not use sticky sessions, subsequent requests
can hit any server in the cluster. If the server that the requests
hit is not the original server, they fail to resolve the secure
URL.
If you are using Guides in a server cluster that does not use
sticky sessions, set the macKeySeed value for the GuidesUtility
service, and then stop and start the cluster.
The macKeySeed value is the seed for the random number generator
that is used to generate the secure URLs. Setting this value causes
each cluster node to initialize the random number generator in the
same manner, and to have access to the same secure URLs. You can
use any random string for this seed value.
Change the macKeySeed value when you need to refresh the secure
URLs. Refreshing the secure URLs depends on your security policy,
and is similar to the refresh policy for changing the master root
password of the server. The macSeedValue is analogous to the master
password for the secure URLs, because it is used to generate a new
unique random number for use in secure URL generation and retrieval.
You must restart the cluster because the macSeedValue is read
only at system startup. All nodes need to restart to read the value,
because they use it independently to initialize their internal random
numbers with the seed value.