Use the following steps to configure Apache Httpd as the load balancer for WSO2 products.
- Install Apache Httpd using the following command.
$sudo apt-get install apache2
- Enable the following required modules.
$sudo a2enmod proxy_http
$sudo a2enmod ssl
$sudo a2enmod proxy_balancer
Configure to direct the HTTP requests to the worker nodes with load balancing as
http://as.wso2.com/<service>
via HTTP 80 port.$sudo vi /etc/apache2/site-available/wso2.as.com.conf
Code Block language xml <VirtualHost as.wso2.com:80> ServerName as.wso2.com # disable forward proxy requests ProxyRequests off <Proxy balancer://wso2.as.com> # Add a member to the load balancing group BalancerMember http://as.wso2.com:9765 BalancerMember http://as.wso2.com:9766 ProxySet lbmethod=byrequests </Proxy> ProxyPass / balancer://wso2.as.com/ ProxyPassReverse / balancer://wso2.as.com/ </VirtualHost>
Configure to direct the HTTPS requests to the worker nodes with load balancing as
https://as.wso2.com/<service>
via HTTPS 443 port.$sudo vi /etc/apache2/site-available/wso2.as.com.conf
Code Block language xml <VirtualHost as.wso2.com:443> ServerName as.wso2.com ProxyRequests off # creating debug logs LogLevel debug <Proxy balancer://ssl.wso2.as.com> BalancerMember https://as.wso2.com:9445 BalancerMember https://as.wso2.com:9446 ProxySet lbmethod=byrequests </Proxy> ProxyPass / balancer://ssl.wso2.as.com/ ProxyPassReverse / balancer://ssl.wso2.as.com/ # enable SSL/TLS for a that virtual host SSLEngine On SSLCertificateFile /etc/apache2/ssl/wrk.crt SSLCertificateKeyFile /etc/apache2/ssl/wrk.key # enable SSL/TLS for proxy usage in a particular virtual host SSLProxyEngine On </VirtualHost>
Configure Apache Httpd to access the management console as https://mgt.as.wso2.com/carbon via HTTPS 443 port.
Code Block <VirtualHost mgt.as.wso2.com:443> ServerName mgt.as.wso2.com ProxyRequests off LogLevel debug ProxyPass /carbon https://mgt.as.wso2.com:9444/carbon/ ProxyPassReverse /carbon https://mgt.as.wso2.com:9444/carbon/ SSLEngine On SSLCertificateFile /etc/apache2/ssl/mgt.crt SSLCertificateKeyFile /etc/apache2/ssl/mgt.key SSLProxyEngine On </VirtualHost>
- Enable virtual host configurations.
$sudo a2ensite wso2.as.com.conf
- Restart Apache Httpd.
$sudo /etc/init.d/apache2 restart
...
While creating keys, enter the host name (as.wso2.com or mgt.as.wso2.com) as the Common Name.What is your first and last name?
[Unknown]: mgt.as.wso2.com
…….
Is CN=mgt.as.wso2.com, OU=Eng, O=Wso2, L=Colombo, ST=Colombo, C=SL correct?
[no]: yes