I'm running MSMQ as a clustered resource on a Windows Failover Cluster. We want to send messages to the queue over HTTP using a NAT IP Address for the queue.
On a non clustered environment, this works fine as we deploy an IP mapping file to the MSMQ/Mapping folder. MSMQ reads this file and understands where to send those messages.
In the clustered scenario, translating that NAT IP address is not happening at all.
My queue has been created in a clustered context and can receive messages from machines in the same network using http://CLUSTERNAME.Domain/MSMQ/Private$/queuename
I deployed the following XML mapping file to %windir%\system32\msmq\mapping folder of the active and passive nodes, restarting the Clustered msmq service on the active node.
<redirections xmlns="msmq-queue-redirections.xml">
<redirection>
<from>http://NAT_IP_ADDRESS:8080/msmq/Private$/myQueue</from>
<to>http://Cluster_IP:8080/msmq/Private$/myQueue</to>
</redirection>
</redirections>
This had no effect. Messages still wouldn't deliver.
Notes
- I can see the incoming requests from remote sender is IIS logs of active node. HTTP status is 200.
- I can browse to clustered msmq on the remote sender using Internet Explorer (501/505 error) with NAT IP address.
- For clarity, I have successfully sent messages to the queue over HTTP but only from the same network.
Anyone have any ideas?
Regards
Niall