{"id":45231,"date":"2024-07-01T13:20:39","date_gmt":"2024-07-01T13:20:39","guid":{"rendered":"https:\/\/accuweb.cloud\/resource\/?post_type=faq&#038;p=45231"},"modified":"2026-02-18T12:01:05","modified_gmt":"2026-02-18T12:01:05","slug":"apache-frontend-for-tomcat","status":"publish","type":"faq","link":"https:\/\/accuweb.cloud\/resource\/articles\/apache-frontend-for-tomcat","title":{"rendered":"Using Apache as a Frontend for Tomcat"},"content":{"rendered":"<h2 class=\"ack-h2\">Using Apache as a Frontend for Tomcat<\/h2>\n<p>Tomcat is a reliable and fast server capable of handling large volumes of data, making it competitive with native web servers. Placing a secure, fast, and flexible Apache HTTP server in front of Tomcat can offer several benefits, such as:<\/p>\n<ul class=\"ack-ul\">\n<li>Load balancing across multiple Tomcat servers for high availability<\/li>\n<li>Efficient processing and delivery of static content<\/li>\n<li>Enhanced security features provided by Apache<\/li>\n<li>Additional functionalities via Apache modules<\/li>\n<\/ul>\n<p>This setup is commonly used to improve performance in high-load environments.<\/p>\n<p>In this tutorial, we\u2019ll explore how to connect Apache and Tomcat using the <strong>mod_proxy<\/strong> or <strong>mod_rewrite<\/strong> modules. This allows Apache to forward requests to Tomcat and relay the responses back to the client.<\/p>\n<p><strong>Common Use Cases<\/strong><\/p>\n<ol class=\"ack-ol\">\n<li><a class=\"ack-link-color\" href=\"#rewriting\" rel=\"noopener\">Rewriting Links<\/a><\/li>\n<li><a class=\"ack-link-color\" href=\"#static_content\" rel=\"noopener\">Serving Static Content<\/a><\/li>\n<li><a class=\"ack-link-color\" href=\"#load_balancing\" rel=\"noopener\">Load Balancing<\/a><\/li>\n<\/ol>\n<div class=\"article-space ack-extra-image-space\">\t\t<div data-elementor-type=\"section\" data-elementor-id=\"38668\" class=\"elementor elementor-38668\" data-elementor-settings=\"{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}\" data-elementor-post-type=\"elementor_library\">\n\t\t\t        <section class=\"elementor-section elementor-top-section elementor-element elementor-element-882321f elementor-section-boxed elementor-section-height-default elementor-section-height-default ct-header-fixed-none ct-row-max-none\" data-id=\"882321f\" data-element_type=\"section\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n            \n                        <div class=\"elementor-container elementor-column-gap-default \">\n                    <div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7cc79cc\" data-id=\"7cc79cc\" data-element_type=\"column\">\n        <div class=\"elementor-widget-wrap elementor-element-populated\">\n                    \n        \t\t<div class=\"elementor-element elementor-element-e31b40f elementor-widget elementor-widget-shortcode\" data-id=\"e31b40f\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t            <\/div>\n        <\/div>\n                    <\/div>\n        <\/section>\n        \t\t<\/div>\n\t\t<\/div>\n<div class=\"article-space\"><\/div>\n<h2 id=\"rewriting\" class=\"ack-h2\">Rewriting Links<\/h2>\n<p>Considering you have multiple Java applications hosted on different servers.<\/p>\n<ul class=\"ack-ul\">\n<li>http:\/\/env-tomcat-first.us-accuweb.cloud\/application1\/<br \/>\n<a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat01.png\"><img fetchpriority=\"high\" decoding=\"async\" class=\"aligncenter wp-image-45237 size-full\" title=\"Application 1 IP Address\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat01.png\" alt=\"Application 1 IP Address\" width=\"590\" height=\"249\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat01.png 590w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat01-300x127.png 300w\" sizes=\"(max-width: 590px) 100vw, 590px\" \/><\/a><\/li>\n<li>http:\/\/env-tomcat-second.us-accuweb.cloud\/application2\/<br \/>\n<a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat02.png\"><img decoding=\"async\" class=\"aligncenter wp-image-45239 size-full\" title=\"Application 2 IP Address\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat02.png\" alt=\"Application 2 IP Address\" width=\"615\" height=\"210\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat02.png 615w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat02-300x102.png 300w\" sizes=\"(max-width: 615px) 100vw, 615px\" \/><\/a><\/li>\n<\/ul>\n<p>You can use the Apache <strong>mod_rewrite<\/strong> module to make them accessible through a single port with different paths. For example:<\/p>\n<ul class=\"ack-ul\">\n<li>Application 1:<strong> http:\/\/env-apache.us-accuweb.cloud\/application1\/<\/strong><\/li>\n<li>Application 2: <strong>http:\/\/env-apache.us-accuweb.cloud\/application2\/<\/strong><\/li>\n<\/ul>\n<p>To set this up, follow these steps:<\/p>\n<p><strong>Step 1. Create Environments<\/strong><\/p>\n<ul class=\"ack-ul\">\n<li>One frontend Apache environment<\/li>\n<li>Two or more backend Tomcat environments with your Java applications<\/li>\n<\/ul>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat03.png\"><img decoding=\"async\" class=\"ack-article-image aligncenter wp-image-45241 size-full\" title=\"Create Environment\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat03.png\" alt=\"Create Environment\" width=\"863\" height=\"355\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat03.png 863w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat03-300x123.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat03-768x316.png 768w\" sizes=\"(max-width: 863px) 100vw, 863px\" \/><\/a><\/p>\n<p><strong>Step 2. Configure Apache<\/strong><\/p>\n<ul class=\"ack-ul\">\n<li>Open the Apache configuration manager.<\/li>\n<li>Edit the<strong> \/etc\/httpd\/conf\/httpd.conf<\/strong> file to include the following configuration:<\/li>\n<\/ul>\n<pre><code class=\"language-javascript\">\r\n&lt;VirtualHost *:80&gt;\r\nServerAdmin webmaster@domain.com\r\nDocumentRoot \/var\/www\/webroot\/ROOT\r\nServerName website.jelastic.com\r\nServerAlias\r\nRewriteEngine On\r\n\r\nRewriteRule ^\/application1\/(.*) http:\/\/env-tomcat-first.us-accuweb.cloud\/application1\/ [P]\r\nProxyPassReverse \/application1\/ http:\/\/env-tomcat-first.us-accuweb.cloud\/application1\/\r\n\r\nRewriteRule ^\/application2\/(.*) http:\/\/env-tomcat-second.us-accuweb.cloud\/application2\/ [P]\r\nProxyPassReverse \/application2\/ http:\/\/env-tomcat-second.us-accuweb.cloud\/application2\/\r\n\r\nRewriteLog \"\/var\/log\/httpd\/rewrite.log\"\r\n\r\nErrorLog logs\/dummy-host.jelastic.com-error_log\r\nCustomLog logs\/dummy-host.jelastic.com-access_log combined\r\n&lt;\/VirtualHost&gt;\r\n<\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat04-min.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-45243 size-full\" title=\"Configure Apache\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat04-min.png\" alt=\"Configure Apache\" width=\"1534\" height=\"745\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat04-min.png 1534w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat04-min-300x146.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat04-min-1024x497.png 1024w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat04-min-768x373.png 768w\" sizes=\"(max-width: 1534px) 100vw, 1534px\" \/><\/a><\/p>\n<ul class=\"ack-ul\">\n<li><strong>RewriteEngine<\/strong> On is used for enabling the rewriting ability<\/li>\n<li><strong>RewriteRule<\/strong> and ProxyPassReverse state the conditions and the result of rewriting for both applications<\/li>\n<li><strong>RewriteLog<\/strong> is optionally added to store the logs of rewriting in the specified location<\/li>\n<li><strong>Save<\/strong> the changes and <strong>restart<\/strong> the Apache server.<\/li>\n<\/ul>\n<p><strong>Step 3. Test the Setup<\/strong><\/p>\n<ul class=\"ack-ul\">\n<li>Open your Apache frontend environment in a browser.<\/li>\n<li>Append \/<strong>application1<\/strong>\/ or \/<strong>application2<\/strong>\/ to the URL to access the respective applications.<\/li>\n<\/ul>\n<p>In our case:<\/p>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat05.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-45244 size-full\" title=\"Test the Setup\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat05.png\" alt=\"Test the Setup\" width=\"567\" height=\"207\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat05.png 567w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat05-300x110.png 300w\" sizes=\"(max-width: 567px) 100vw, 567px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat06.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-45246 size-full\" title=\"Test the Setup\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat06.png\" alt=\"Test the Setup\" width=\"560\" height=\"224\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat06.png 560w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat06-300x120.png 300w\" sizes=\"(max-width: 560px) 100vw, 560px\" \/><\/a><\/p>\n<p>This configuration allows you to manage, restart, and debug each application separately while presenting them as a single application to the end user. It also provides descriptive links, making it easier for users to understand the content of each page from the URL.<\/p>\n<div class=\"article-space ack-extra-image-space\">\t\t<div data-elementor-type=\"section\" data-elementor-id=\"38668\" class=\"elementor elementor-38668\" data-elementor-settings=\"{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}\" data-elementor-post-type=\"elementor_library\">\n\t\t\t        <section class=\"elementor-section elementor-top-section elementor-element elementor-element-882321f elementor-section-boxed elementor-section-height-default elementor-section-height-default ct-header-fixed-none ct-row-max-none\" data-id=\"882321f\" data-element_type=\"section\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n            \n                        <div class=\"elementor-container elementor-column-gap-default \">\n                    <div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7cc79cc\" data-id=\"7cc79cc\" data-element_type=\"column\">\n        <div class=\"elementor-widget-wrap elementor-element-populated\">\n                    \n        \t\t<div class=\"elementor-element elementor-element-e31b40f elementor-widget elementor-widget-shortcode\" data-id=\"e31b40f\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t            <\/div>\n        <\/div>\n                    <\/div>\n        <\/section>\n        \t\t<\/div>\n\t\t<\/div>\n<div class=\"article-space\"><\/div>\n<h2 id=\"static_content\" class=\"ack-h2\">Serving Static Content<\/h2>\n<p>Distributing tasks between Tomcat and Apache can increase the speed of your application. Apache can handle static content delivery while Tomcat serves the application.<\/p>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat07.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-45247 size-full\" title=\"Static Content\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat07.png\" alt=\"Static Content\" width=\"1080\" height=\"1080\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat07.png 1080w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat07-300x300.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat07-1024x1024.png 1024w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat07-150x150.png 150w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat07-768x768.png 768w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" \/><\/a><\/p>\n<p>In the described setup, Tomcat will handle serving the application, whereas Apache will be responsible for delivering the static content.<\/p>\n<p>To configure this:<\/p>\n<p><strong>Step 1. Create Environments<\/strong><\/p>\n<ul class=\"ack-ul\">\n<li>One Tomcat server with your application<\/li>\n<li>One Apache server for serving static content<\/li>\n<\/ul>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat08.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-45249 size-full\" title=\"Create Environments\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat08.png\" alt=\"Create Environments\" width=\"503\" height=\"284\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat08.png 503w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat08-300x169.png 300w\" sizes=\"(max-width: 503px) 100vw, 503px\" \/><\/a><\/p>\n<p><strong>Step 2. Configure Apache<\/strong><\/p>\n<ul class=\"ack-ul\">\n<li>Open the configuration manager and navigate to<strong> \/var\/www\/webroot\/ROOT.<\/strong><\/li>\n<li>Create a folder for your static content and upload the necessary files (here we\u2019ll create a folder named static).<\/li>\n<\/ul>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat09.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-45250 size-full\" title=\"Configure Apache\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat09.png\" alt=\"Configure Apache\" width=\"1359\" height=\"474\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat09.png 1359w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat09-300x105.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat09-1024x357.png 1024w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat09-768x268.png 768w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat09-900x313.png 900w\" sizes=\"(max-width: 1359px) 100vw, 1359px\" \/><\/a><\/p>\n<p>Edit the VirtualHost section of<strong> \/etc\/httpd\/conf\/httpd.conf<\/strong> file as follows:<\/p>\n<pre><code class=\"language-javascript\">\r\n&lt;VirtualHost *:80&gt;\r\nServerAdmin webmaster@domain.com\r\nDocumentRoot \/var\/www\/webroot\/ROOT\r\nServerName website.jelastic.com\r\nServerAlias *\r\n\r\nProxyPass \/static !\r\n\r\nProxyPass \/ http:\/\/env-tomcat.jelastic.com\/app1\/\r\nProxyPassReverse \/ http:\/\/env-tomcat.jelastic.com\/app1\/\r\n\r\nErrorLog logs\/dummy-host.jelastic.com-error_log\r\nCustomLog logs\/dummy-host.jelastic.com-access_log common\r\n&lt;\/VirtualHost&gt;\r\n<\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat010-min.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-45251\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat010-min.png\" alt=\"Edit the VirtualHost section\" width=\"1550\" height=\"474\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat010-min.png 1550w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat010-min-300x92.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat010-min-1024x313.png 1024w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat010-min-768x235.png 768w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat010-min-1536x470.png 1536w\" sizes=\"(max-width: 1550px) 100vw, 1550px\" \/><\/a><\/p>\n<p>The <strong>ProxyPass \/static<\/strong> ! line indicates that any requests beginning with \/static will not be proxied.<br \/>\nAll other requests will be forwarded to the Tomcat server, where your app is hosted, as specified in the <strong>ProxyPass<\/strong> and <strong>ProxyPassReverse<\/strong> lines.<\/p>\n<ul class=\"ack-ul\">\n<li>Restart the Apache server.<\/li>\n<\/ul>\n<p><strong>Step 3. Test the Setup<\/strong><\/p>\n<ul class=\"ack-ul\">\n<li>Open your Apache frontend environment in a browser.<\/li>\n<li>Access your application and static content through the specified URLs.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat011.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-45254 size-full\" title=\"Edit the VirtualHost section\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat011.png\" alt=\"Edit the VirtualHost section\" width=\"566\" height=\"279\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat011.png 566w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat011-300x148.png 300w\" sizes=\"(max-width: 566px) 100vw, 566px\" \/><\/a><\/p>\n<p>In order to see you directory listing you need to add the following code segment in your<strong> \/etc\/httpd\/conf\/httpd.conf<\/strong> file :<\/p>\n<pre><code class=\"language-javascript\">\r\n&lt;Directory \"\/var\/www\/webroot\/ROOT\/static\"&gt;\r\nOptions Indexes FollowSymLinks\r\n&lt;\/Directory&gt;\r\n<\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat012.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-45253 size-full\" title=\"Directory\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat012.png\" alt=\"Directory\" width=\"662\" height=\"301\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat012.png 662w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat012-300x136.png 300w\" sizes=\"(max-width: 662px) 100vw, 662px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat013.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-45257 size-full\" title=\"Live Example\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat013.png\" alt=\"Live Example\" width=\"682\" height=\"408\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat013.png 682w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat013-300x179.png 300w\" sizes=\"(max-width: 682px) 100vw, 682px\" \/><\/a><\/p>\n<p>In this setup, Tomcat serves the application, while Apache handles the static content. This division of labor allows your application to serve more users simultaneously and improves overall performance.<\/p>\n<div class=\"article-space ack-extra-image-space\">\t\t<div data-elementor-type=\"section\" data-elementor-id=\"38668\" class=\"elementor elementor-38668\" data-elementor-settings=\"{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}\" data-elementor-post-type=\"elementor_library\">\n\t\t\t        <section class=\"elementor-section elementor-top-section elementor-element elementor-element-882321f elementor-section-boxed elementor-section-height-default elementor-section-height-default ct-header-fixed-none ct-row-max-none\" data-id=\"882321f\" data-element_type=\"section\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n            \n                        <div class=\"elementor-container elementor-column-gap-default \">\n                    <div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7cc79cc\" data-id=\"7cc79cc\" data-element_type=\"column\">\n        <div class=\"elementor-widget-wrap elementor-element-populated\">\n                    \n        \t\t<div class=\"elementor-element elementor-element-e31b40f elementor-widget elementor-widget-shortcode\" data-id=\"e31b40f\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t            <\/div>\n        <\/div>\n                    <\/div>\n        <\/section>\n        \t\t<\/div>\n\t\t<\/div>\n<div class=\"article-space\"><\/div>\n<h2 id=\"load_balancing\" class=\"ack-h2\">Load Balancing<\/h2>\n<p>To handle more load and achieve failover capabilities, you can add multiple Tomcat instances and use Apache as a load balancer. Here\u2019s how:<\/p>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat014.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-45259 size-full\" title=\"Apache Load Balancer\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat014.png\" alt=\"Apache Load Balancer\" width=\"1080\" height=\"1080\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat014.png 1080w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat014-300x300.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat014-1024x1024.png 1024w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat014-150x150.png 150w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat014-768x768.png 768w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" \/><\/a><\/p>\n<p><strong>Step 1. Create Environments<\/strong><\/p>\n<ul class=\"ack-ul\">\n<li>Two backend Tomcat environments with your Java applications (Please note that it is <strong>mandatory<\/strong> to use the <strong>same context<\/strong> for applications deployed across both environments).<\/li>\n<li>One frontend Apache environment<\/li>\n<\/ul>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat015.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-45260 size-full\" title=\"Create Environment\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat015.png\" alt=\"Create Environment\" width=\"765\" height=\"573\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat015.png 765w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat015-300x225.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat015-600x450.png 600w\" sizes=\"(max-width: 765px) 100vw, 765px\" \/><\/a><\/p>\n<p><strong>Step 2. Configure Apache<\/strong><\/p>\n<ul class=\"ack-ul\">\n<li>Open the configuration manager and navigate to <strong>\/etc\/httpd\/conf.d.<\/strong><\/li>\n<li>Create a <strong>servers_list<\/strong> file with the hosts of your applications:<br \/>\n<strong>servers {env1_name}.{hoster_domain}|{env2_name}.{hoster_domain}<\/strong><\/li>\n<\/ul>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat016.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-45262 size-full\" title=\"Configure Apache\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat016.png\" alt=\"Configure Apache\" width=\"1436\" height=\"276\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat016.png 1436w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat016-300x58.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat016-1024x197.png 1024w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat016-768x148.png 768w\" sizes=\"(max-width: 1436px) 100vw, 1436px\" \/><\/a><\/p>\n<ul class=\"ack-ul\">\n<li>Edit the <strong>\/etc\/httpd\/conf\/httpd.conf<\/strong> file as follows:<\/li>\n<\/ul>\n<pre><code class=\"language-javascript\">\r\n&lt;VirtualHost *:80&gt;\r\nServerAdmin webmaster@domain.com\r\nDocumentRoot \/var\/www\/webroot\/ROOT\r\nServerName website.jelastic.com\r\nServerAlias *\r\n\r\nRewriteEngine On\r\n\r\nRewriteMap lb rnd:\/etc\/httpd\/conf.d\/servers_list\r\nRewriteRule ^\/(.*) http:\/\/${lb:servers}\/myapp\/$1 [P,L]\r\n\r\nErrorLog logs\/dummy-host.jelastic.com-error_log\r\nCustomLog logs\/dummy-host.jelastic.com-access_log common\r\n&lt;\/VirtualHost&gt;\r\n<\/code><\/pre>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat017-min.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-45263 size-full\" title=\"Changes in Conf File\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat017-min.png\" alt=\"Changes in Conf File\" width=\"883\" height=\"340\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat017-min.png 883w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat017-min-300x116.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat017-min-768x296.png 768w\" sizes=\"(max-width: 883px) 100vw, 883px\" \/><\/a><\/p>\n<ul class=\"ack-ul\">\n<li><strong>RewriteEngine<\/strong> On is used for enabling the rewriting ability<\/li>\n<li><strong>RewriteMap<\/strong> sets the path to the hosts, stated in the servers_list file, created before.<\/li>\n<li><strong>RewriteRule<\/strong> sets the load balancing terms<\/li>\n<li><strong>RewriteLog<\/strong> is optionally added to store the logs of rewriting in the specified location<\/li>\n<li>Restart the Apache server.<\/li>\n<\/ul>\n<p><strong>Step 3. Test the Setup<\/strong><\/p>\n<ul class=\"ack-ul\">\n<li>Open your Apache frontend environment in a browser.<\/li>\n<li>Refresh the page multiple times to see the load balancing in action, alternating between Tomcat instances.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat018.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-45264 size-full\" title=\"Test the Setup\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat018.png\" alt=\"Test the Setup\" width=\"488\" height=\"216\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat018.png 488w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat018-300x133.png 300w\" sizes=\"(max-width: 488px) 100vw, 488px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat019.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-45266 size-full\" title=\"Test the Setup\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat019.png\" alt=\"Test the Setup\" width=\"479\" height=\"203\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat019.png 479w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/Apache-for-tomcat019-300x127.png 300w\" sizes=\"(max-width: 479px) 100vw, 479px\" \/><\/a><\/p>\n<p>By following these steps, you can increase the performance, flexibility, and stability of your applications using the Apache and Tomcat interconnection. This configuration allows your environment to handle more load and provides failover capabilities, ensuring your applications remain available and responsive.<\/p>\n<div class=\"cta-btn-top-space ack-extra-image-space\">\t\t<div data-elementor-type=\"section\" data-elementor-id=\"38668\" class=\"elementor elementor-38668\" data-elementor-settings=\"{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}\" data-elementor-post-type=\"elementor_library\">\n\t\t\t        <section class=\"elementor-section elementor-top-section elementor-element elementor-element-882321f elementor-section-boxed elementor-section-height-default elementor-section-height-default ct-header-fixed-none ct-row-max-none\" data-id=\"882321f\" data-element_type=\"section\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n            \n                        <div class=\"elementor-container elementor-column-gap-default \">\n                    <div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7cc79cc\" data-id=\"7cc79cc\" data-element_type=\"column\">\n        <div class=\"elementor-widget-wrap elementor-element-populated\">\n                    \n        \t\t<div class=\"elementor-element elementor-element-e31b40f elementor-widget elementor-widget-shortcode\" data-id=\"e31b40f\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t            <\/div>\n        <\/div>\n                    <\/div>\n        <\/section>\n        \t\t<\/div>\n\t\t<\/div>\n<div class=\"cta-btn-mob-space\"><\/div>\n","protected":false},"author":1,"featured_media":52879,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","class_list":["post-45231","faq","type-faq","status-publish","has-post-thumbnail","hentry","faq_topics-apache-as-frontend","faq_topics-apache-php","faq_topics-kb","faq_topics-php","faq_topics-php-app-servers","faq_topics-product-documentation"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.10 (Yoast SEO v24.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Enhance Performance with Apache Frontend for Tomcat<\/title>\n<meta name=\"description\" content=\"Learn how to improve your application&#039;s performance by using Apache as a frontend for Tomcat, including Common use cases in detail.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/accuweb.cloud\/resource\/articles\/apache-frontend-for-tomcat\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Using Apache as a Frontend for Tomcat\" \/>\n<meta property=\"og:description\" content=\"Learn how to improve your application&#039;s performance by using Apache as a frontend for Tomcat, including Common use cases in detail.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/accuweb.cloud\/resource\/articles\/apache-frontend-for-tomcat\" \/>\n<meta property=\"og:site_name\" content=\"AccuWeb Cloud\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-18T12:01:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/NEW-OG-IMAGE-URL.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/accuweb.cloud\/resource\/articles\/apache-frontend-for-tomcat#article\",\"isPartOf\":{\"@id\":\"https:\/\/accuweb.cloud\/resource\/articles\/apache-frontend-for-tomcat\"},\"author\":{\"name\":\"Jilesh Patadiya\",\"@id\":\"https:\/\/accuweb.cloud\/resource\/#\/schema\/person\/a7a4cbe8405202b537509c757b588c58\"},\"headline\":\"Using Apache as a Frontend for Tomcat\",\"datePublished\":\"2024-07-01T13:20:39+00:00\",\"dateModified\":\"2026-02-18T12:01:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/accuweb.cloud\/resource\/articles\/apache-frontend-for-tomcat\"},\"wordCount\":809,\"publisher\":{\"@id\":\"https:\/\/accuweb.cloud\/resource\/#organization\"},\"image\":{\"@id\":\"https:\/\/accuweb.cloud\/resource\/articles\/apache-frontend-for-tomcat#primaryimage\"},\"thumbnailUrl\":\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/NEW-OG-IMAGE-URL.jpg\",\"inLanguage\":\"en-US\"},{\"@type\":[\"WebPage\",\"FAQPage\"],\"@id\":\"https:\/\/accuweb.cloud\/resource\/articles\/apache-frontend-for-tomcat\",\"url\":\"https:\/\/accuweb.cloud\/resource\/articles\/apache-frontend-for-tomcat\",\"name\":\"Enhance Performance with Apache Frontend for Tomcat\",\"isPartOf\":{\"@id\":\"https:\/\/accuweb.cloud\/resource\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/accuweb.cloud\/resource\/articles\/apache-frontend-for-tomcat#primaryimage\"},\"image\":{\"@id\":\"https:\/\/accuweb.cloud\/resource\/articles\/apache-frontend-for-tomcat#primaryimage\"},\"thumbnailUrl\":\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/NEW-OG-IMAGE-URL.jpg\",\"datePublished\":\"2024-07-01T13:20:39+00:00\",\"dateModified\":\"2026-02-18T12:01:05+00:00\",\"description\":\"Learn how to improve your application's performance by using Apache as a frontend for Tomcat, including Common use cases in detail.\",\"breadcrumb\":{\"@id\":\"https:\/\/accuweb.cloud\/resource\/articles\/apache-frontend-for-tomcat#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/accuweb.cloud\/resource\/articles\/apache-frontend-for-tomcat\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/accuweb.cloud\/resource\/articles\/apache-frontend-for-tomcat#primaryimage\",\"url\":\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/NEW-OG-IMAGE-URL.jpg\",\"contentUrl\":\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/NEW-OG-IMAGE-URL.jpg\",\"width\":1280,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/accuweb.cloud\/resource\/articles\/apache-frontend-for-tomcat#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/accuweb.cloud\/resource\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Using Apache as a Frontend for Tomcat\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/accuweb.cloud\/resource\/#website\",\"url\":\"https:\/\/accuweb.cloud\/resource\/\",\"name\":\"AccuWeb Cloud\",\"description\":\"Cutting Edge Cloud Computing\",\"publisher\":{\"@id\":\"https:\/\/accuweb.cloud\/resource\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/accuweb.cloud\/resource\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/accuweb.cloud\/resource\/#organization\",\"name\":\"AccuWeb.Cloud\",\"url\":\"https:\/\/accuweb.cloud\/resource\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/accuweb.cloud\/resource\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/04\/accuwebcloud_logo_black_tagline.jpg\",\"contentUrl\":\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/04\/accuwebcloud_logo_black_tagline.jpg\",\"width\":156,\"height\":87,\"caption\":\"AccuWeb.Cloud\"},\"image\":{\"@id\":\"https:\/\/accuweb.cloud\/resource\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/accuweb.cloud\/resource\/#\/schema\/person\/a7a4cbe8405202b537509c757b588c58\",\"name\":\"Jilesh Patadiya\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/accuweb.cloud\/resource\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/2cea2bdb5bbabb771ee67e96acad7396f25cb1a0c360b9bc4a9ac40cea9cd8b2?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/2cea2bdb5bbabb771ee67e96acad7396f25cb1a0c360b9bc4a9ac40cea9cd8b2?s=96&d=mm&r=g\",\"caption\":\"Jilesh Patadiya\"},\"description\":\"Jilesh Patadiya, the visionary Co-Founder and Chief Technology Officer (CTO) behind AccuWeb.Cloud. Founder &amp; CTO at AccuWebHosting.com. He shares his web hosting insights on the AccuWeb.Cloud blog. He mostly writes on the latest web hosting trends, WordPress, storage technologies, and Windows and Linux hosting platforms.\",\"sameAs\":[\"https:\/\/accuweb.cloud\/resource\",\"https:\/\/www.facebook.com\/accuwebhosting\",\"https:\/\/www.instagram.com\/accuwebhosting\/\",\"https:\/\/www.linkedin.com\/company\/accuwebhosting\/\",\"https:\/\/x.com\/accuwebhosting\",\"https:\/\/www.youtube.com\/c\/Accuwebhosting\"],\"url\":\"https:\/\/accuweb.cloud\/resource\/author\/accuwebadmin\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Enhance Performance with Apache Frontend for Tomcat","description":"Learn how to improve your application's performance by using Apache as a frontend for Tomcat, including Common use cases in detail.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/accuweb.cloud\/resource\/articles\/apache-frontend-for-tomcat","og_locale":"en_US","og_type":"article","og_title":"Using Apache as a Frontend for Tomcat","og_description":"Learn how to improve your application's performance by using Apache as a frontend for Tomcat, including Common use cases in detail.","og_url":"https:\/\/accuweb.cloud\/resource\/articles\/apache-frontend-for-tomcat","og_site_name":"AccuWeb Cloud","article_modified_time":"2026-02-18T12:01:05+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/NEW-OG-IMAGE-URL.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/accuweb.cloud\/resource\/articles\/apache-frontend-for-tomcat#article","isPartOf":{"@id":"https:\/\/accuweb.cloud\/resource\/articles\/apache-frontend-for-tomcat"},"author":{"name":"Jilesh Patadiya","@id":"https:\/\/accuweb.cloud\/resource\/#\/schema\/person\/a7a4cbe8405202b537509c757b588c58"},"headline":"Using Apache as a Frontend for Tomcat","datePublished":"2024-07-01T13:20:39+00:00","dateModified":"2026-02-18T12:01:05+00:00","mainEntityOfPage":{"@id":"https:\/\/accuweb.cloud\/resource\/articles\/apache-frontend-for-tomcat"},"wordCount":809,"publisher":{"@id":"https:\/\/accuweb.cloud\/resource\/#organization"},"image":{"@id":"https:\/\/accuweb.cloud\/resource\/articles\/apache-frontend-for-tomcat#primaryimage"},"thumbnailUrl":"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/NEW-OG-IMAGE-URL.jpg","inLanguage":"en-US"},{"@type":["WebPage","FAQPage"],"@id":"https:\/\/accuweb.cloud\/resource\/articles\/apache-frontend-for-tomcat","url":"https:\/\/accuweb.cloud\/resource\/articles\/apache-frontend-for-tomcat","name":"Enhance Performance with Apache Frontend for Tomcat","isPartOf":{"@id":"https:\/\/accuweb.cloud\/resource\/#website"},"primaryImageOfPage":{"@id":"https:\/\/accuweb.cloud\/resource\/articles\/apache-frontend-for-tomcat#primaryimage"},"image":{"@id":"https:\/\/accuweb.cloud\/resource\/articles\/apache-frontend-for-tomcat#primaryimage"},"thumbnailUrl":"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/NEW-OG-IMAGE-URL.jpg","datePublished":"2024-07-01T13:20:39+00:00","dateModified":"2026-02-18T12:01:05+00:00","description":"Learn how to improve your application's performance by using Apache as a frontend for Tomcat, including Common use cases in detail.","breadcrumb":{"@id":"https:\/\/accuweb.cloud\/resource\/articles\/apache-frontend-for-tomcat#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/accuweb.cloud\/resource\/articles\/apache-frontend-for-tomcat"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/accuweb.cloud\/resource\/articles\/apache-frontend-for-tomcat#primaryimage","url":"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/NEW-OG-IMAGE-URL.jpg","contentUrl":"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/NEW-OG-IMAGE-URL.jpg","width":1280,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/accuweb.cloud\/resource\/articles\/apache-frontend-for-tomcat#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/accuweb.cloud\/resource\/"},{"@type":"ListItem","position":2,"name":"Using Apache as a Frontend for Tomcat"}]},{"@type":"WebSite","@id":"https:\/\/accuweb.cloud\/resource\/#website","url":"https:\/\/accuweb.cloud\/resource\/","name":"AccuWeb Cloud","description":"Cutting Edge Cloud Computing","publisher":{"@id":"https:\/\/accuweb.cloud\/resource\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/accuweb.cloud\/resource\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/accuweb.cloud\/resource\/#organization","name":"AccuWeb.Cloud","url":"https:\/\/accuweb.cloud\/resource\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/accuweb.cloud\/resource\/#\/schema\/logo\/image\/","url":"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/04\/accuwebcloud_logo_black_tagline.jpg","contentUrl":"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/04\/accuwebcloud_logo_black_tagline.jpg","width":156,"height":87,"caption":"AccuWeb.Cloud"},"image":{"@id":"https:\/\/accuweb.cloud\/resource\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/accuweb.cloud\/resource\/#\/schema\/person\/a7a4cbe8405202b537509c757b588c58","name":"Jilesh Patadiya","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/accuweb.cloud\/resource\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/2cea2bdb5bbabb771ee67e96acad7396f25cb1a0c360b9bc4a9ac40cea9cd8b2?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2cea2bdb5bbabb771ee67e96acad7396f25cb1a0c360b9bc4a9ac40cea9cd8b2?s=96&d=mm&r=g","caption":"Jilesh Patadiya"},"description":"Jilesh Patadiya, the visionary Co-Founder and Chief Technology Officer (CTO) behind AccuWeb.Cloud. Founder &amp; CTO at AccuWebHosting.com. He shares his web hosting insights on the AccuWeb.Cloud blog. He mostly writes on the latest web hosting trends, WordPress, storage technologies, and Windows and Linux hosting platforms.","sameAs":["https:\/\/accuweb.cloud\/resource","https:\/\/www.facebook.com\/accuwebhosting","https:\/\/www.instagram.com\/accuwebhosting\/","https:\/\/www.linkedin.com\/company\/accuwebhosting\/","https:\/\/x.com\/accuwebhosting","https:\/\/www.youtube.com\/c\/Accuwebhosting"],"url":"https:\/\/accuweb.cloud\/resource\/author\/accuwebadmin"}]}},"_links":{"self":[{"href":"https:\/\/accuweb.cloud\/resource\/wp-json\/wp\/v2\/faq\/45231","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/accuweb.cloud\/resource\/wp-json\/wp\/v2\/faq"}],"about":[{"href":"https:\/\/accuweb.cloud\/resource\/wp-json\/wp\/v2\/types\/faq"}],"author":[{"embeddable":true,"href":"https:\/\/accuweb.cloud\/resource\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/accuweb.cloud\/resource\/wp-json\/wp\/v2\/comments?post=45231"}],"version-history":[{"count":11,"href":"https:\/\/accuweb.cloud\/resource\/wp-json\/wp\/v2\/faq\/45231\/revisions"}],"predecessor-version":[{"id":53080,"href":"https:\/\/accuweb.cloud\/resource\/wp-json\/wp\/v2\/faq\/45231\/revisions\/53080"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/accuweb.cloud\/resource\/wp-json\/wp\/v2\/media\/52879"}],"wp:attachment":[{"href":"https:\/\/accuweb.cloud\/resource\/wp-json\/wp\/v2\/media?parent=45231"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}