1 of 1 people found this helpful
So I put the advertising and MCPM functions into virtual host on 80.
No no, this is very wrong. Never do that.
Define a virtual host on a specific port (example config does that on port 6666) and limit IPs only to the internal network.
I didn't add 'EnableMCPMReceive' in virtual host '*:443', But seems from AS7 side it still trying to send 'INFO' command to '443' port of httpd. How I can disable this?
Just define which is the correct host to receive MCMP like this for example:
ServerAdvertise on http://localhost:6666/
Thanks for quick reply Rado :-) I've modified my config:
- Using a separate 6666 port for receving MCMP.
- Limit the 6666 port access to internal IP to secure it.
- Using 'ServerAdvertise on http://10.0.1.13:6666' (10.0.1.13 is the internal IP address) in '10.0.1.13:6666' virtual host.
Here are my config:
<VirtualHost 10.0.1.13:80> <Directory /> Order deny,allow Deny from all Allow from 10.0.1 </Directory> <Location /mod_cluster_manager> SetHandler mod_cluster-manager Order deny,allow Deny from all Allow from 10.0.1 </Location> </VirtualHost> <VirtualHost 10.0.1.13:6666> <Directory /> Order deny,allow Deny from all Allow from 10.0.1 </Directory> ServerAdvertise on http://10.0.1.13:6666 EnableMCPMReceive ManagerBalancerName ... </VirtualHost> <VirtualHost <mini:443> SSLEngine on SSLCertificateFile ... SSLCertificateKeyFile ... </VirtualHost>
After starting httpd two AS7 nodes are registered correctly:
From Wireshark analysis the advertise message looks good:
And the accessing the LB has no problem:
$ curl -k https://mini/cluster-demo2/inc.jsp <html> <body> <h2>Counter</h2> Counter: 1 </body> </html>
But from two AS7 server output they are still trying to send 'INFO' command to LB:
[Server:master-server] 14:00:57,735 ERROR [org.jboss.modcluster] (ContainerBackgroundProcessor[StandardEngine[jboss.web]]) MODCLUSTER000042: Error null sending INFO command to mini/10.0.1.13:443, configuration will be reset: null
[Server:slave-server] 14:02:23,295 ERROR [org.jboss.modcluster] (ContainerBackgroundProcessor[StandardEngine[jboss.web]]) MODCLUSTER000042: Error null sending INFO command to mini/10.0.1.13:443, configuration will be reset: null
Do I miss anything left to configure correctly?
That is weird it looks like Advertise sent the wrong VirtualHost information.
You can try to use https://github.com/modcluster/mod_cluster/blob/master/test/java/Advertize.java to see what the AS7 servers are receiving.
May be at some point something was wrong an the AS7 proxy-list contains some wrong information... Stopping and restarting AS7 should help (and check that proxy-list is empty in the configuration).
I've shutdown httpd and two AS7 servers and then restart them all, then the problem disappears. Thank you all for help!
So the nodes connected correctly, but only were logging extra "MODCLUSTER000042: Error null sending INFO command..." ? That is to be expected as JFC says, both advertisements were received so both HTTPds were tried to be registered. I am just trying to see if there isn't a bug or something...
Thanks for checking it Rado :-)
Yeah I thought after modifying the httpd config there is no need to restart JBoss EAP nodes. Actually the EAP nodes needs to be restarted also, or it will keep trying sending the INFO command to 443.
I guess it's because I have put 'EnableMCPMReceive' into '*:443' previously in httpd config, and then start httpd. So JBoss EAP starts to send MCPM to 443 port.
After I modified my httpd conf and move 'EnableMCPMReceive' to other ports, and then restart httpd. Seems the states in JBoss EAP are held for some reason, even in advertise message, the port changed. EAP still trying to send 'INFO' to the port of older setting in httpd conf, which is 443. After I've restarted JBoss EAP, it no longer send MCPM to 443.